gpt4 book ai didi

python - QLineEdit 中的文本不显示

转载 作者:行者123 更新时间:2023-12-01 02:22:00 26 4
gpt4 key购买 nike

我正在从行编辑中获取用户输入并将其显示在 QMessageBox 上,但由于某种原因它不会显示。我想也许我根本没有从 QLineEdit 获取输入,但是当我尝试在终端上打印它时(顺便说一句,它仍然不会显示),终端向下滚动,认识到其中有新数据,但只是不显示它。明白我在说什么吗?

import os
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *


def main():
app = QApplication(sys.argv)
w = MyWindow()
w.show()
sys.exit(app.exec_())


class MyWindow(QWidget):
def __init__(self, *args):
QWidget.__init__(self, *args)

# create objects
label = QLabel(self.tr("enter the data "))
self.le = QLineEdit()
self.te = QTextEdit()

# layout
layout = QVBoxLayout(self)
layout.addWidget(label)
layout.addWidget(self.le)
layout.addWidget(self.te)
self.setLayout(layout)

# create connection
self.mytext = str(self.le.text())
self.connect(self.le, SIGNAL("returnPressed(void)"),
self.display)

def display(self):
QApplication.instance().processEvents()
msg = QMessageBox.about(self, 'msg', '%s' % self.mytext)
print(self.mytext)
self.te.append(self.mytext)
self.le.setText("")

if __name__ == "__main__":
main()

最佳答案

您当前正在构造函数中读取 QLineEdit,此时 QLineEdit 为空,您必须在槽中执行此操作:

def display(self):
mytext = self.le.text()
msg = QMessageBox.about(self, 'msg', '%s' % mytext)
self.te.append(mytext)
self.le.clear()

注意:使用clear()来清理QLineEdit

关于python - QLineEdit 中的文本不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47867572/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com