PyQt全球名称' ...'没有定义

时间:2017-08-26 22:28:50

标签: python user-interface debugging pyqt global

我试图解决这个错误两个小时并搜索每个可能的论坛,然后我转向在这里发帖。

正在发生的错误在第38行

self.statusBar().showMessage(inputt)

非常感谢任何帮助:)

#!/usr/bin/python
# -*- coding: utf-8 -*-

"""
ZetCode PyQt4 tutorial

In this example, we determine the event sender
object.

author: Jan Bodnar
website: zetcode.com
last edited: October 2011
"""

import sys
from PySide import QtGui, QtCore


class Example(QtGui.QMainWindow):
    def __init__(self):
        super(Example, self).__init__()

        self.initUI()

    def initUI(self):
        btn1 = QtGui.QPushButton("Button 1", self)
        btn1.move(30, 50)
        btn1.clicked.connect(self.buttonClicked)


        inputt = QtGui.QLineEdit(self)

        self.statusBar()
        self.setGeometry(300, 300, 290, 150)
        self.show()

    def buttonClicked(self):
        self.statusBar().showMessage(inputt)


def main():
    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

1 个答案:

答案 0 :(得分:0)

这是一个范围问题,您在usernameEdit中定义了passwordEditinitui,但您是在另一种方法中调用它们。

您应该将它们更改为类的属性,以便能够在任何地方使用它们:

self.usernameEdit = QtGui.QLineEdit()
self.passwordEdit = QtGui.QLineEdit()

然后您可以使用方法.text()调用它们来获取输入文本:

if(try_username == self.usernameEdit.text() and try_password == self.passwordEdit.text() ):