pyqt5中,点击按钮,另一个Label中文字改变
时间: 2024-05-02 16:17:10 浏览: 112
单击按钮是变换文字
可以使用pyqtSignal和pyqtSlot实现这个功能。首先,在设计界面时,在MainWindow中添加一个QPushButton和一个QLabel控件,然后将QPushButton的clicked信号与一个自定义的槽函数连接起来。在槽函数中,通过emit方法发出自定义信号,然后将自定义信号与另一个自定义的槽函数连接,最后在槽函数中改变QLabel的文本即可。
以下是示例代码:
```python
from PyQt5.QtCore import pyqtSignal, pyqtSlot
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QLabel
class MainWindow(QMainWindow):
textChanged = pyqtSignal(str)
def __init__(self):
super().__init__()
# 添加按钮和标签控件
self.button = QPushButton('Click me', self)
self.label = QLabel('Hello world', self)
self.setCentralWidget(self.label)
self.button.clicked.connect(self.onButtonClicked)
# 将自定义信号与槽函数连接
self.textChanged.connect(self.onTextChanged)
@pyqtSlot()
def onButtonClicked(self):
# 发出自定义信号,传递新的文本
self.textChanged.emit('Button clicked')
@pyqtSlot(str)
def onTextChanged(self, text):
# 改变标签文本
self.label.setText(text)
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
运行该程序后,单击按钮将会更改标签的文本。
阅读全文