簡體   English   中英

PyQt5 QLineEdit循環-已添加圖像

[英]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_boxQLineEdit )發送文本。

要從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相似): QTextEditQLineEdit

完整的例子

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM