PyQt4中的简单输入对话框

时间:2015-01-13 09:36:36

标签: python pyqt startup qapplication

我正在编写一个检查用户是否为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类调出输入对话框?或者还有其他解决办法吗?

1 个答案:

答案 0 :(得分:0)

您没有使用整个代码,但似乎您没有遵循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()