使用pyqt5实现工具栏,点击工具栏1图形界面显示图片每隔2秒自动播放下一张,点击工具栏图形界面显示bbb
时间: 2023-09-12 20:05:05 浏览: 40
下面是一个简单的示例代码,实现了你所需的功能:
```python
import sys
from PyQt5.QtGui import QIcon, QPixmap
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, QLabel, QToolBar
from PyQt5.QtCore import QTimer
class Example(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建工具栏
toolbar = QToolBar(self)
self.addToolBar(toolbar)
# 添加工具栏1
tool1 = QAction(QIcon('icon1.png'), 'Tool1', self)
tool1.triggered.connect(self.showImages)
toolbar.addAction(tool1)
# 添加工具栏2
tool2 = QAction(QIcon('icon2.png'), 'Tool2', self)
tool2.triggered.connect(self.showText)
toolbar.addAction(tool2)
# 创建标签用于显示图片或文本
self.label = QLabel(self)
self.setCentralWidget(self.label)
# 创建计时器用于定时更新图片
self.timer = QTimer(self)
self.timer.timeout.connect(self.updateImage)
self.setGeometry(300, 300, 350, 250)
self.setWindowTitle('Toolbar')
self.show()
def showImages(self):
# 显示图片
self.images = ['image1.png', 'image2.png', 'image3.png']
self.currentImage = 0
self.label.setPixmap(QPixmap(self.images[self.currentImage]))
# 开始计时器
self.timer.start(2000)
def updateImage(self):
# 更新图片
self.currentImage = (self.currentImage + 1) % len(self.images)
self.label.setPixmap(QPixmap(self.images[self.currentImage]))
def showText(self):
# 显示文本
self.label.setText('bbb')
self.timer.stop()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
其中,`showImages()` 方法用于显示图片并启动计时器,`updateImage()` 方法用于更新图片,`showText()` 方法用于显示文本并停止计时器。工具栏1对应显示图片,工具栏2对应显示文本。每隔2秒自动播放下一张图片。