Seite 1 von 1

Slot aus Funktion heraus aufrufen

Verfasst: Mittwoch 14. April 2010, 16:35
von Shaldy
Hi, Leute!

Mein Problem ist, dass ich ein listWidget aus einer Funktion heraus komplett leeren will. Eine Funktion dafür hab ich nicht gefunden, dafür aber den Slot "clear()".

Ich will den Slot aber nicht mit einem Signal verbinden sondern explizit aufrufen.

Wie funktioniert sowas?

EDIT: Ok hab die Methode clear() ausprobiert und es funktioniert. Meine neue Frage wäre nun ob ich jeden Slot einfach als Funktion aufrufen kann oder nur Glück gehabt hab?!

Verfasst: Mittwoch 14. April 2010, 17:34
von DasIch
Das funktioniert immer.

Verfasst: Mittwoch 14. April 2010, 18:48
von Shaldy
Danke ;)

Jetzt hab ich noch eine Frage:

Ich habe über QtCore.QObject.connect() ein doubleSpinBox widget mit einer selbstgeschriebenen Funktion verknüpft.
Als Signal habe ich QtCore.SIGNAL("valueChanged(double d)") verwendet.
Leider wird die Funktion aber überhaupt nicht aufgerufen.

Code: Alles auswählen

QtCore.QObject.connect(self.ui.doubleSpinBox, QtCore.SIGNAL("valueChanged(double d)"), \
        self.func)

Verfasst: Freitag 16. April 2010, 23:34
von ichisich
Falls noch aktuell:

Code: Alles auswählen

self.connect(self.spinBox, SIGNAL("valueChanged(double)"), self.machWas)
Funktion machWas:

Code: Alles auswählen

def machWas(self, derDoubleWert):
        print derDoubleWert
Das gleich gilt für spinBoxen:

Code: Alles auswählen

"valueChanged(int)"
anstelle

Code: Alles auswählen

"valueChanged(int i)"
Im Zweifel immer:
http://www.riverbankcomputing.co.uk/sta ... asses.html

Verfasst: Samstag 17. April 2010, 12:23
von lunar
Oder ab PyQt 4.5:

Code: Alles auswählen

self.ui.spinbox.valueChanged[double].connect(self.my_very_cool_slot)