PyQt4 中的简单输入对话框
Posted
技术标签:
【中文标题】PyQt4 中的简单输入对话框【英文标题】:Simple Input Dialog in PyQt4 【发布时间】:2015-01-13 09:36:36 【问题描述】:我正在编写一个程序来检查用户是否为 root。如果没有,则会显示输入对话框以输入密码。我之前也这样做过(在某个班级内),但在某处丢失了文件。
if os.name == 'posix':
if not os.getuid() == 0:
input, ok = QtGui.QInputDialog.getText(None, 'Password',
'Enter password:', QtGui.QLineEdit.Password)
if ok:
#remaining code
这里的问题是这会产生错误QWidget: Must construct a QApplication before a QPaintDevice
是否只能使用 UI 类调出输入对话框?或者还有其他解决方案吗?
【问题讨论】:
Must construct a QApplication before a QWidget 的可能重复项 【参考方案1】:您没有使用整个代码,但您似乎没有遵循 PyQt 的基本准则。 以下是创建正确 pyqt 应用所需的最低要求:
import sys
from PyQt5 import QtWidget
def main():
app = QtWidget.QApplication(sys.argv)
w = QtWidget.SOMEWIDGET()
w.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
【讨论】:
抱歉回复晚了。我想要的是只获得用于输入密码的输入对话框。通过上面的示例,我如何获得输入对话框。网络上可用的最多示例处理class Example(QtGui.QWidget):
。但就我而言,我只需要输入对话框。以上是关于PyQt4 中的简单输入对话框的主要内容,如果未能解决你的问题,请参考以下文章