python – 从主PyQt窗口启动一个PyQT窗口,并获取用户输入?
我有一个主要的PyQt窗口,当我们点击某个按钮时,我需要从中获取一串用户输入.
这是我的用户输入窗口的代码: class InputDialog(QtGui.QDialog): ''' this is for when you need to get some user input text ''' def __init__(self,parent=None,title='user input',label='comment',text=''): QtGui.QWidget.__init__(self,parent) #--Layout Stuff---------------------------# mainLayout = QtGui.QVBoxLayout() layout = QtGui.QHBoxLayout() self.label = QtGui.QLabel() self.label.setText(label) layout.addWidget(self.label) self.text = QtGui.QLineEdit(text) layout.addWidget(self.text) mainLayout.addLayout(layout) #--The Button------------------------------# layout = QtGui.QHBoxLayout() button = QtGui.QPushButton("okay") #string or icon self.connect(button,QtCore.SIGNAL("clicked()"),self.close) layout.addWidget(button) mainLayout.addLayout(layout) self.setLayout(mainLayout) self.resize(400,60) self.setWindowTitle(title) 从主窗口,我说: inputter = InputDialog(mainWindowUI,title="comments",label="comments",text="") inputter.show() comment = inputter.text.text() print comment 即使用户键入注释并点击“确定”,也会打印一个空字符串.显然因为主窗口脚本不等待InputDialog关闭.那么,我如何让它等待,以便我可以检索用户输入? 解决方法
使用
inputter.exec_() 代替 inputter.show() 来自:http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qdialog.html#exec
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |