PyQt基础小部件交互

2 投票
1 回答
1659 浏览
提问于 2025-04-16 05:10

请问有人能告诉我,我在调用 pwTxt.text 时做错了什么吗?

#!/usr/bin/python
import sys
from PyQt4 import QtCore, QtGui

from mainwindow import Ui_MainWindow


class MyForm(QtGui.QMainWindow):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

    def on_pwExtract_pressed(self):
        print self.pwTxt.text

if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    myapp = MyForm()
    myapp.show()
    sys.exit(app.exec_())

这一行 print self.pwTxt.text 出错了,因为找不到这个控件。pwTxt 是在主窗口上定义的一个 QLineEdit。我是在 QTDesigner 中创建的,然后用 pyuic4 生成了 Python 代码。

我该如何正确地引用同一个窗口上的其他控件呢?在这个例子中,我只是想在按下 QPushButton pwExtract 时获取名为 pwTxt 的 QLineEdit 中的文本。

非常感谢。

1 个回答

2

试试这个:

print self.ui.pwTxt.text()

撰写回答