使用pyqt创建一个窗口,窗口只有一个label进行显示,窗口类中有1个信号,用于更新label的内容
时间: 2023-05-24 14:03:48 浏览: 102
PyQt5创建一个新窗口的实例
下面是一个简单的代码示例,创建了一个窗口类MyWindow,其中有一个label控件,通过一个信号update_label,可以更新label的内容:
```python
from PyQt5.QtCore import pyqtSignal, Qt
from PyQt5.QtWidgets import QApplication, QLabel, QMainWindow
class MyWindow(QMainWindow):
update_label = pyqtSignal(str) # 定义一个信号,参数是一个字符串
def __init__(self, parent=None):
super().__init__(parent)
self.label = QLabel()
self.setCentralWidget(self.label)
# 绑定信号和槽函数
self.update_label.connect(self.update_label_text)
def update_label_text(self, text):
self.label.setText(text)
if __name__ == '__main__':
app = QApplication([])
window = MyWindow()
window.show()
window.update_label.emit('Hello PyQt5') # 发送一个更新信号
app.exec_()
```
在窗口类MyWindow的构造函数中,创建了一个label控件,并将其设置为窗口的中心控件。信号update_label连接了槽函数update_label_text,用于更新label的内容。
在主程序中,创建了一个应用程序实例和一个窗口实例,通过show方法显示窗口。最后,通过emit方法发送了一个更新信号,携带了一个字符串参数'Hello PyQt5',使得label的内容被更新为该字符串。
阅读全文