PyQt4中QTextEditor无法获取输入内容报错问题求助
解决PyQt4 QTextEdit无法获取输入文本的问题
嘿,刚接触PyQt4的时候很容易踩这种控件方法的坑,我来给你捋捋可能的原因和解决办法:
别搞混控件的方法!
QTextEdit(注意是QTextEdit,不是你写的QTextEditor)获取文本的正确方法是toPlainText(),而不是text()(那是QLineEdit的方法),也不是plainText(少了前面的to,而且这是方法必须加括号)。你之前试的plainText应该是写错了,改成toPlainText()试试。检查控件的命名是否一致
你在QT Designer里给QTextEdit设置的objectName必须和代码里调用的名字完全一样。比如你在Designer里把控件命名为input_edit,那代码里就得用self.ui.input_edit.toPlainText(),要是名字写错了,程序找不到控件,自然也调用不了方法。确保UI被正确初始化
转成的.py文件里的UI类需要正确加载到你的主窗口中,比如:self.ui = Ui_你的窗口类名() self.ui.setupUi(self)只有这样,所有控件才会被正确实例化,你才能调用它们的方法。
给你个简单的示例代码参考:
from PyQt4.QtGui import QMainWindow, QApplication from ui_converted import Ui_MainWindow # 替换成你转好的UI文件名 class MainWindow(QMainWindow): def __init__(self): super(MainWindow, self).__init__() self.ui = Ui_MainWindow() self.ui.setupUi(self) # 绑定按钮点击事件来获取文本 self.ui.get_text_btn.clicked.connect(self.fetch_input) def fetch_input(self): # 正确获取QTextEdit的文本 user_input = self.ui.my_text_edit.toPlainText() print("用户输入:", user_input) if __name__ == "__main__": app = QApplication([]) win = MainWindow() win.show() app.exec_()
再检查一遍这几个点,应该就能解决问题啦!
内容的提问来源于stack exchange,提问作者Dominik
相关产品推荐
相关产品推荐

