Page 246 - 6734
P. 246

атрибутом  state,  логічне  значення  якого  змінюється  на
           протилежне  під  час  натиску  на  неї.  Крім  того  це  значення
           відображається на самій кнопці.

           import sys
           from PyQt4.QtCore import *
           from PyQt4.QtGui import *

           class MyButton(QPushButton): # клас успадковує
           QPushButton
               state = True
               def __init__(self, state,parent=None): #
           конструктор
                   super(MyButton, self).__init__(parent) #
           виклик конструктора QPushButton
                   self.state=state # стан кнопки (True, False)
                   self.setText(self.state.__str__()) #
           установити надпис на кнопці
                   # приєднати сигнал clicked() до слота
           self.change_state()
                   self.connect(self, SIGNAL("clicked()"),
           self.change_state)
               def change_state(self): # обробник сигналу
           clicked()
                   if self.state: # якщо стан True
                       self.emit(SIGNAL("state_true"),
           self.state) # генерувати сигнал state_true
                       self.state=False # змінити стан
                   else: # інакше генерувати сигнал state_false
                       self.emit(SIGNAL("state_false"),
           self.state)
                       self.state=True # змінити стан
                   self.setText(self.state.__str__()) #
           установити надпис на кнопці


                                         245
   241   242   243   244   245   246   247   248   249   250   251