在昨天已经创关键好的helloworld的框架窗口中放置按钮和带图标的标签,点击按钮,改变标签上的图标和文本。
时间: 2023-07-16 07:16:40 浏览: 169
设置按钮控件的标签文本
很好,那我就按照您的描述来为您编写代码。首先,您需要引入相关的库:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton
from PyQt5.QtGui import QIcon
```
然后,我们创建一个名为 `HelloWorld` 的窗口类,并在其中添加一个标签和一个按钮。标签显示的文本和图标在初始化时设置。
```python
class HelloWorld(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建一个标签,并设置文本和图标
self.label = QLabel('Hello World', self)
self.label.setGeometry(50, 50, 200, 50)
self.label.setPixmap(QIcon('icon.png').pixmap(50, 50))
# 创建一个按钮,并设置文本和图标
self.button = QPushButton('Click me', self)
self.button.setGeometry(50, 120, 100, 50)
self.button.setIcon(QIcon('button.png'))
# 绑定按钮点击事件
self.button.clicked.connect(self.changeLabel)
# 设置窗口大小和标题
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Hello World')
self.show()
```
接下来,我们为 `HelloWorld` 类添加一个 `changeLabel` 方法,该方法将在按钮被点击时调用。该方法将更改标签的文本和图标。
```python
def changeLabel(self):
# 更改标签的文本和图标
self.label.setText('Button clicked')
self.label.setPixmap(QIcon('new_icon.png').pixmap(50, 50))
```
最后,我们创建一个 `QApplication` 对象,并将 `HelloWorld` 类实例化为主窗口。最后,我们调用 `sys.exit()` 将应用程序启动并进入主循环。
```python
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = HelloWorld()
sys.exit(app.exec_())
```
这样,我们就完成了在 PyQT5 中创建一个带有按钮和图标的标签的窗口,并在按钮被点击时更改标签上的内容和图标。
阅读全文