在 PyQt5 中,要實現 QPushButton 的文本編輯功能,可以使用 QLineEdit 和 QPushButton 控件
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLineEdit, QPushButton
class TextEditor(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 創建一個垂直布局
layout = QVBoxLayout()
# 創建一個 QLineEdit 控件
self.line_edit = QLineEdit(self)
# 設置默認文本
self.line_edit.setText("點擊按鈕更改文本")
# 創建一個 QPushButton 控件
self.button = QPushButton("點擊我", self)
# 將按鈕的點擊事件連接到自定義的槽函數
self.button.clicked.connect(self.change_text)
# 將 QLineEdit 和 QPushButton 添加到布局中
layout.addWidget(self.line_edit)
layout.addWidget(self.button)
# 設置窗口的布局
self.setLayout(layout)
# 設置窗口的標題
self.setWindowTitle("文本編輯器")
def change_text(self):
# 獲取 QLineEdit 的文本
text = self.line_edit.text()
# 更改 QLineEdit 的文本
if text == "點擊按鈕更改文本":
self.line_edit.setText("文本已更改!")
else:
self.line_edit.setText("點擊按鈕更改文本")
if __name__ == "__main__":
app = QApplication(sys.argv)
text_editor = TextEditor()
text_editor.show()
sys.exit(app.exec_())
這個示例中,我們創建了一個名為 TextEditor
的類,它繼承自 QWidget
。在這個類中,我們創建了一個 QLineEdit
控件和一個 QPushButton
控件。當用戶點擊按鈕時,change_text
方法會被調用,從而更改 QLineEdit
的文本。