von CustomWidget ein Signal an MainWindow schicken

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Ernie1412
User
Beiträge: 161
Registriert: Freitag 10. Januar 2020, 20:38

ich hab in QtDesigner ein "CustomComboBoxCheck" über Promoted Widget eingebunden. Wie kann ich von CustomComboBoxCheck aus ein Button in QMainWindow auf enabled setzen ?. wenn zum Beispiel ein Item aus der ComboBox geändert wurde, soll der UpdateButton von MainWindow auf enabled gesetzt werden. Dachte zuerst mit parent, aber parent ist ein QWidget ("layoutWidget_3")
gibt es etwas womit ich ein Signal nach MainWindow schicken kann ? emit, pyqtSignal setzt ja auch vorraus, das ich MainWindow kenne
Benutzeravatar
sparrow
User
Beiträge: 4195
Registriert: Freitag 17. April 2009, 10:28

Das emittierende Signal muss den Empfänger nicht kennen.
Nur wer darauf connected muss das Signal kennen.
Ernie1412
User
Beiträge: 161
Registriert: Freitag 10. Januar 2020, 20:38

ja, habs schon.

Code: Alles auswählen

update_buttonChanged = pyqtSignal(bool)
in der combobox Klasse. in MainWindow:

Code: Alles auswählen

self.custom_cBox.update_buttonChanged.connect(lambda enabled: self.Btn_update.setEnabled(enabled))
Ein kleinen Denkfehler gehabt :D
Übrigens wer meint, man kann ja currentIndexChanged verwenden. Hab ich abgeschaltet:

Code: Alles auswählen

self.currentIndexChanged.connect(self.updatePlaceholderText)
Antworten