QT Slider

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
GoldenerReiter
User
Beiträge: 17
Registriert: Montag 14. Juli 2014, 16:13

Hallo,
wie kann ich den Wert eines Sliders welchen ich in QT-Designer erstellt habe in Python benützen?
Bei einem Button schreibe ich in Python z.B.

Code: Alles auswählen


def function1(checked):
    if(checked):
        x = 1
    else:
        x = -1

workingWin.radiobtn.connect("clicked(bool)",function1)

für eine andere funktion möchte ich allerdings einen Wert von einem Slider bekommen. Zum Testen habe ich folgendes geschrieben:

Code: Alles auswählen

def slider():
     workingWin.lcdNumber["value"] = workingWin.slider_number["value"]

workingWin.slider_number.valueChanged.connect("clicked()",slider)
Habe es auch mit ohne connect und anstelle von "clicked()" -> "changed()" ausprobiert. Doch ich bekomme immer die Fehlermeldung:
>>Could not create uiItem of requested widget<<
welches sich auf die 4. Zeile bezieht

Ich habe auch das Internet schon sehr durchsucht, aber keine passende lösung dafür gefunden, da widgets irgendwie immer anders erstellt werden (also direkt aus python).
Falls jemand eine Seite weiss, wo widgets in qt designer gesetzt werden und dann im anderen Programm benützt werden, bitte die Seite sagen, dass würde mir auch schon viel weiter helfen.

mfg
Zuletzt geändert von cofi am Freitag 26. September 2014, 12:04, insgesamt 1-mal geändert.
Grund: Thema nach Qt/KDE verschoben
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@GoldenerReiter:
Du vermischt hier die alte und die neue Annotation von Signal-Slot-Verbindungen. Damit Du vom Signal `valueChanged` den Wert mitbekommst, musst Dein Slot diesen auch als Parameter entgegennehmen:

Code: Alles auswählen

def function_with_arg(slider_value):
    print slider_value

slider.valueChanged.connect(function_with_arg)
Das funktioniert deshalb, weil `valueChanged` den Wert mit rausgibt (Signatur ist void QAbstractSlider::valueChanged(int value))

Das Thema ist besser unter Qt/KDE aufgehoben.
GoldenerReiter
User
Beiträge: 17
Registriert: Montag 14. Juli 2014, 16:13

Ah danke,
so habe ich es zum laufen bekommen.
vielen dank
Antworten