は、以下のコードを考えてみましょう:PyQt:私のファイルにダミーのクラス定義を追加するとアプリケーションがクラッシュするのはなぜですか?
#!/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]を動作します。 今、私はグローバルスコープ内のダミークラス(つまりQtGuiモジュールのクラスから継承)...
class MainWindow(QtGui.QMainWindow):
... # unchanged
class MyWidget(QtGui.QWidget):
def __init__(self):
super(MyWidget, self).__init__()
if __name__ == '__main__':
... # unchanged
を追加した場合...私は、スクリプトを起動したときに、私はエラーを取得:
TypeError: argument 1 of QMainWindow.setCentralWidget() has an invalid type
このエラーメッセージは、私が行った変更に接続することができないため、わかりにくいです。 このエラーの原因は何ですか?
python.orgとPyQt 4.5.2からのPython 2.6.2 ちょうどPython 2.5.4に戻って、それは魅力のように機能します。ありがとう! – kraymer
@kraymer、あなたも大歓迎ですが、最新のPythonが最新のPythonで動作しない場合は面倒です。Python 2.6.2でPyQtを再構築しようとしている時があります。 PyQtのトラッカーのバグ...?) –