V Qt Desgineru si nadefinuju gui a uložím jako *.ui
Pokud chci obsloužit stisk tlačítka tak mám dvě možnosti:
1) obsloužit kliknutí tlačítka v kódu Pythonu
2) v designeru vytvořit na formuláři vlastní slot (např. __on_btnOk_clicked_slot), k němu připojit signál z tlačítka a slot obsloužit v kódu Pythonu
3) mělo by fungovat převést *.ui na *.py, ale nezkošel jsem ještě
class Form(QWidgets.QMainWindow):
def __init__(self, parent=None):
super(Form, self).__init__(parent)
self.__ui = uic.loadUi('mainWindow.ui', self)
self.__ui.btnOk.clicked.connect(self.__on_btnOk_clicked) # ad 1)
def __on_btnOk_clicked(self):
print('method: button OK clicked')
@pyqtSlot
def __on_btnOk_clicked_slot(self):
print('slot: button OK clicked') # ad 2)
V obou případech nemám interaktivní nápovědu takže chybný název slotu nebo signálu se projeví až jako run-time chyba.
Jaké možnosti propojení Qt Designeru s kódem využíváte vy?