Betrachten Sie den Code unten:PyQt: Warum führt das Hinzufügen einer Dummy-Klassendefinition in meiner Datei zum Absturz der Anwendung?
#!/usr/bin/env python
from PyQt4 import QtCore, QtGui
import os,sys
class MainWindow(QtGui.QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.listWidget = QtGui.QListWidget(None)
self.setCentralWidget(self.listWidget)
if __name__ == '__main__':
app = QtGui.QApplication (sys.argv)
mainWin = MainWindow()
mainWin.show()
sys.exit (app.exec_())
ok funktioniert. Nun, wenn ich eine Dummy-Klasse hinzufügen im globalen Bereich (die von einem QtGui Moduls Klasse erbt) ...
class MainWindow(QtGui.QMainWindow):
... # unchanged
class MyWidget(QtGui.QWidget):
def __init__(self):
super(MyWidget, self).__init__()
if __name__ == '__main__':
... # unchanged
... wenn ich das Skript starten erhalte ich die Fehlermeldung:
TypeError: argument 1 of QMainWindow.setCentralWidget() has an invalid type
Diese Fehlermeldung ist für mich kryptisch, da ich sie nicht mit der durchgeführten Änderung verbinden kann. Haben Sie eine Idee, was könnte die Ursache für diesen Fehler sein?
Python 2.6.2 von python.org und PyQt 4.5.2 Zurück zu Python 2.5.4 und es funktioniert wie ein Charme. Vielen Dank! – kraymer
@kraymer, du bist willkommen, aber es ist mühsam, wenn das neueste PyQt nicht mit dem neuesten Python funktioniert - wenn ich Zeit habe, werde ich versuchen, PyQt mit Python 2.6.2 neu zu erstellen und zu sehen, was gibt (vielleicht öffnen a Fehler auf PyQts Tracker ...?) –