在 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
的文本。