Seite 1 von 1

PyQt4 gibt nur leer Fenster

Verfasst: Freitag 23. Januar 2009, 19:10
von drewsilson
Hallo,

versuche mich gerade zum ersten mal an PyQt. Gehe dabei strikt nach "Lehrbuch" vor (M. Summerfields Rapid GUI programming with Python and QT). Merkwürdiger Weise ergeben Mr Summerfields Beispiele mir immer nur leere Fenster...
Entweder habe ich also das falsche Buch gekauft, oder irgendwas mit der PyQt4-Installation verbockt. Anbei mal eins der Beispiele:

Code: Alles auswählen

from __future__ import division
import sys
from math import *
from PyQt4.QtCore import *
from PyQt4.QtGui import *


class Form(QDialog):
    
    def __init__self(self, parent=None):
        super(Form, self).__init__(parent)

        self.browser = QTextBrowser()
        self.lineedit = QLineEdit("Schreib' und drueck' Enter")
        self.lineedit.selectAll()
        layout = QVBoxLayout()
        layout.addWidget(self.browser)
        layout.addWidget(self.lineedit)
        self.setLayout(layout)
        self.lineedit.setFocus()
        self.connect(self.lineedit, SIGNAL("returnPressed()"), self.updateUi)
        self.setWindowTitle("Calculate")

    def updateUi(self):
        try:
            text = unicode(self.lineedit.text())
            self.browser.append("%s = <b>%s</b>" % (text, eval(text)))
        except:
            self.browser.append("<font color=red>%s is invalid!</font>" % text)

app = QApplication(sys.argv)
form = Form()
form.show()
app.exec_()
Vielleicht habt ihr schon Erfahrung mit meinem Problem (oder dem Buch)?

Danke schon mal,

Micha

Verfasst: Freitag 23. Januar 2009, 19:39
von cofi
Ein fieser Fehler ... hab das ewig übersehen ;)
Du solltest `__init__' auch wirklich so nennen, wie es heissen muss ;)

Zum Buch kann ich sagen, dass ich es ganz nett fand, um (Py)Qt näherzukommen.

Verfasst: Freitag 23. Januar 2009, 19:55
von drewsilson
Oha, wirklich saudämlich!

Danke! Das hätt ich wohl nie gemerkt (und wohlmöglich am Ende noch das Buch verbrannt ;-) ).

Also danke!

Micha

Verfasst: Freitag 20. Februar 2009, 13:37
von mkesper
Man sollte sich allerdings

Code: Alles auswählen

from PyQt... import *
nicht angewöhnen. Es gibt aktualisierten Quellcode zu Mark Summerfields Buch, in dem er das korrigiert hat.