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