1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
#!/usr/bin/env python
"""PyQt4 port of the dialogs/extension example from Qt v4.x"""
import sys
from PyQt4 import QtCore, QtGui
class FindDialog(QtGui.QDialog):
def __init__(self, parent=None):
QtGui.QDialog.__init__(self, parent)
self.label = QtGui.QLabel(self.tr("Find &what:"))
self.lineEdit = QtGui.QLineEdit()
self.label.setBuddy(self.lineEdit)
self.caseCheckBox = QtGui.QCheckBox(self.tr("Match &case"))
self.fromStartCheckBox = QtGui.QCheckBox(self.tr("Search from &start"))
self.fromStartCheckBox.setChecked(True)
self.findButton = QtGui.QPushButton(self.tr("&Find"))
self.findButton.setDefault(True)
self.closeButton = QtGui.QPushButton(self.tr("Close"))
self.moreButton = QtGui.QPushButton(self.tr("&More"))
self.moreButton.setCheckable(True)
self.moreButton.setAutoDefault(False)
self.extension = QtGui.QWidget()
self.wholeWordsCheckBox = QtGui.QCheckBox(self.tr("&Whole words"))
self.backwardCheckBox = QtGui.QCheckBox(self.tr("Search &backward"))
self.searchSelectionCheckBox = QtGui.QCheckBox(self.tr("Search se&lection"))
self.connect(self.closeButton, QtCore.SIGNAL("clicked()"),
self, QtCore.SLOT("close()"))
self.connect(self.moreButton, QtCore.SIGNAL("toggled(bool)"),
self.extension, QtCore.SLOT("setVisible(bool)"))
extensionLayout = QtGui.QVBoxLayout()
extensionLayout.setMargin(0)
extensionLayout.addWidget(self.wholeWordsCheckBox)
extensionLayout.addWidget(self.backwardCheckBox)
extensionLayout.addWidget(self.searchSelectionCheckBox)
self.extension.setLayout(extensionLayout)
topLeftLayout = QtGui.QHBoxLayout()
topLeftLayout.addWidget(self.label)
topLeftLayout.addWidget(self.lineEdit)
leftLayout = QtGui.QVBoxLayout()
leftLayout.addLayout(topLeftLayout)
leftLayout.addWidget(self.caseCheckBox)
leftLayout.addWidget(self.fromStartCheckBox)
leftLayout.addStretch(1)
rightLayout = QtGui.QVBoxLayout()
rightLayout.addWidget(self.findButton)
rightLayout.addWidget(self.closeButton)
rightLayout.addWidget(self.moreButton)
rightLayout.addStretch(1)
mainLayout = QtGui.QGridLayout()
mainLayout.setSizeConstraint(QtGui.QLayout.SetFixedSize)
mainLayout.addLayout(leftLayout, 0, 0)
mainLayout.addLayout(rightLayout, 0, 1)
mainLayout.addWidget(self.extension, 1, 0, 1, 2)
self.setLayout(mainLayout)
self.setWindowTitle(self.tr("Extension"))
self.extension.hide()
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
dialog = FindDialog()
sys.exit(dialog.exec_())
|