Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Hi,
ich habe bisher immer Tkinter für die GUI Programmierung verwendet. Eine wesentlich elegantere Möglichkeit bietet sich mit Qt Designer. Ich bin allerdings nicht so sehr mit dem Qt tool vertraut und finde nur wenige Tutorials, die einen leichten Einstieg bieten. Die Oberfläche möchte ich mit dem Designer programmieren, allerdings die Verknüpfungen der Widgets mit Funktionen "von Hand" programmieren, also nicht den "Signals and Slots Editer" verwenden. Wie Verknüpfe ich zum Beispiel einen Button mit einer Funktion, wenn die "Koordinaten" und Eigenschaften des Buttons schon festgelegt sind? im einfachen Fall habe ich eine Klasse button1 der die Funktion:
aufrufen soll. Wie gehe ich da vor? Kann mir jemand gute Tutorials empfehlen, bei denen nicht ein Umfangreiches wissen über Qt erworben wird? ich brauche ja kein detailliertes Verständnis für die Klassen, weil es mir in erster Linie "nur" um die logische Verknüpfung der Widgets unter einander und mit Funktionen geht. Die Denkarbeit für die "Optik" der Widgets nimmt mir ja schon der Qt Designer ab.
'''
run_form_button_label1.py
a simple loader for .ui XML files generated with PySide Designer
the Designer's XML file was saved as "form_button_label1.ui"
it contains a QWidget form with a QPushButton and a QLabel
The QPushButton and QLabel are not connected using the Designer
the connection is done by this programming code
PySide is the official LGPL-licensed version of PyQT
download PySide (LGPL-licensed version of PyQT) from:
http://qt-project.org/wiki/PySide
'''
from PySide.QtCore import *
from PySide.QtGui import *
from PySide.QtUiTools import QUiLoader
def on_click():
'''the button has been clicked, change the label text'''
label.setText("hello")
# create the application
app = QApplication([])
# create the ui loader
loader = QUiLoader()
# and load the form's ui file created by Designer
widget = loader.load("form_button_label1.ui")
widget.show()
# create the pushbutton and label objects
# (for correct names check the .ui file)
button = widget.findChild(QPushButton, 'pushButton')
label = widget.findChild(QLabel, 'label')
# if the button is clicked, change the label text
# uses newer connect style (4.7)
button.clicked.connect(on_click)
# execute the application
app.exec_()