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
   242   243   244   245   246   247   248   249   250   251   252