[英]PyQt5 QLineEdit loop— image added
我想制作一个P2P聊天应用程序。
因此,我自己将这个信号/插槽部件放在一起。 我需要实现的是,我想在QLineEdit
输入文本(命名为send_box
)并在QTextedit
显示QTextedit
(命名为main_text
)。
self.send_box.returnPressed.connect(self.sendData)
这是函数定义
def sendData(self):
self.main_text.setText ('Hello World')
这可行。 但是,当我按Enter键时,仅将"Hello World"
发送到QTextEdit
。
我需要从send_box
( QLineEdit
)发送文本。
要从send_box
获取文本并
替换main_text
文本
self.main_text.setText( self.send_box.text() )
追加到main_text
现有文本
self.main_text.append( self.send_box.text() )
然后您可以清除send_box
文本
self.send_box.clear()
请参阅Qt5
文档(与PyQt5
相似): QTextEdit和QLineEdit
完整的例子
from PyQt5 import QtGui, QtWidgets
import sys
class MyWindow(QtWidgets.QWidget):
def __init__(self):
super().__init__()
self.vbox = QtWidgets.QVBoxLayout()
self.setLayout(self.vbox)
self.vbox.addWidget(QtWidgets.QLabel(text='Input:'))
self.linetext = QtWidgets.QLineEdit()
self.vbox.addWidget(self.linetext)
self.linetext.returnPressed.connect(self.on_press_enter)
self.vbox.addWidget(QtWidgets.QLabel(text='Output:'))
self.textedit = QtWidgets.QTextEdit()
self.vbox.addWidget(self.textedit)
self.show()
def on_press_enter(self):
# copy from LineText to TextEdit
#self.textedit.setText(self.linetext.text())
self.textedit.append(self.linetext.text())
# clear LineText
self.linetext.clear()
app = QtWidgets.QApplication(sys.argv)
window = MyWindow()
app.exec()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.