【问题标题】:Simple Input Dialog in PyQt4PyQt4 中的简单输入对话框
【发布时间】: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 类调出输入对话框?或者还有其他解决方案吗?

【问题讨论】:

标签: python pyqt startup qapplication


【解决方案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):。但就我而言,我只需要输入对话框。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-07
  • 1970-01-01
相关资源
最近更新 更多