[英]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.