Page 247 - 6734
P. 247
class My_Dialog(QDialog): # клас вікна успадковує
QDialog
def __init__(self, parent=None): # конструктор
super(My_Dialog, self).__init__(parent) #
виклик конструктора QDialog
self.resize(230, 100) # змінити розмір вікна
self.pushButton1 = MyButton(True,self) #
кнопка
self.pushButton1.setGeometry(QRect(25, 50,
90, 30)) # змінити геометрію кнопки
self.pushButton2 = MyButton(False,self) #
кнопка
self.pushButton2.setGeometry(QRect(120, 50,
90, 30)) # змінити геометрію кнопки
self.lineEdit = QLineEdit(self) # поле
редагування
self.lineEdit.setGeometry(QRect(25, 10, 90,
30)) # змінити геометрію поля редагування
# приєднати сигнали до слотів
self.connect(self.lineEdit,
SIGNAL("textChanged(QString)"),
self,
SLOT("setWindowTitle(QString)"))
self.connect(self.pushButton1,
SIGNAL("state_true"), self.slot)
self.connect(self.pushButton2,
SIGNAL("state_true"), self.slot)
def slot(self): # обробник сигналу state_true
button = self.sender() # компонент, що
надіслав сигнал
# якщо це ніякий компонент або не об'єкт
класу MyButton
if button is None or not isinstance(button,
MyButton):
return # то вийти
246