Ich habe ein Problem... mit meiner Einstellung (Psychologie)

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.
Benutzeravatar
noisefloor
User
Beiträge: 3853
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

was mir zu dem Thema noch einfällt ist ein älterer Blogpost von mir, in dem es um den "Overhead" geht, wenn man ein (Python-) Programm mit GUI schreiben möchte:
http://noisefloor-net.blogspot.de/2012/ ... o-gui.html

Gilt auch heute noch. Von daher sollte man sich als Anfänger erst Mal gar nicht mit so was beschäftigen. Zumal man mit ein bisschen Python-Erfahrung zu Modulen, Klassen und Methoden sich deutlich leichter tut als wenn ein GUI-Framework wie Qt oder GTK direkt zu Anfang auf einen "herein bricht".

Gruß, noisefloor
BlackJack

@noisefloor: Im Qt-Beispiel ist ein kleiner Fehler: Bei `super()` ist der Klassenname falsch geschrieben.

Ich teile grundsätzlich das man bis OOP gekommen ist, bevor man da noch GUIs oben drauf packt. Allerdings fragen Anfänger ja auch immer nach grafischen Werkzeugen zum erstellen der GUI. Damit kann man den Code doch ein wenig kürzen. Beispiel bei Qt:

Code: Alles auswählen

#!/usr/bin/env python
# coding: utf8
import sys
from PyQt4 import QtGui, uic


class SimpleQt(object):
    def __init__(self):
        self.ui = uic.loadUi('test.ui')
        self.ui.button.clicked.connect(self.rechnen)
        self.ui.show()

    def rechnen(self):
        wert = self.ui.eingabe.text()
        try:
            zahl = int(wert)
        except ValueError:
            message_box = QtGui.QMessageBox()
            message_box.setText(u'Der eingegebene Wert ist keine ganze Zahl')
            message_box.exec_()
        else:
            self.ui.label.setText(unicode(zahl * zahl))


def main():
    app = QtGui.QApplication(sys.argv)
    simple_qt = SimpleQt()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()
Die ``test.ui`` ist mit dem QtDesigner erstellt. Für Gtk gibt's Glade.
Antworten