【发布时间】:2015-11-05 09:10:19
【问题描述】:
我在显示 QWidget 窗口以供用户输入一些数据时遇到问题。
我的脚本没有 GUI,但我只想显示这个 QWidget 小窗口。
我用 QtDesigner 创建了窗口,现在我尝试像这样显示 QWidget 窗口:
from PyQt4 import QtGui
from input_data_window import Ui_Form
class childInputData(QtGui.QWidget ):
def __init__(self, parent=None):
super(childInputData, self).__init__()
self.ui = Ui_Form()
self.ui.setupUi(self)
self.setFocus(True)
self.show()
然后,在我的主要课程中,我正在这样做:
class myMainClass():
childWindow = childInputData()
这给了我错误:
QWidget: Must construct a QApplication before a QPaintDevice
所以现在我正在做,从我的主课开始:
class myMainClass():
app = QtGui.QApplication(sys.argv)
childWindow = childInputData()
现在没有错误,但是窗口显示了两次,脚本没有等到输入数据,它只是显示窗口并继续而不等待。
这里有什么问题?
【问题讨论】:
-
关于窗口显示两次,我在您发布的代码中看不到原因。你确定你没有在代码中的其他地方调用
show()吗? -
是的,我是:S .....我的错