pyqt5实现图片查看器
时间: 2023-06-11 20:08:33 浏览: 169
PyQt5是一个流行的Python GUI框架,可用于创建各种桌面应用程序,包括图片查看器。下面是一个简单的PyQt5图片查看器的示例:
```python
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPixmap
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout, QHBoxLayout, QPushButton, QFileDialog
class ImageViewer(QWidget):
def __init__(self):
super().__init__()
self.image = None
self.image_path = None
self.image_label = QLabel()
self.image_label.setAlignment(Qt.AlignCenter)
self.open_button = QPushButton('Open Image')
self.open_button.clicked.connect(self.open_image)
self.prev_button = QPushButton('Prev')
self.prev_button.setEnabled(False)
self.prev_button.clicked.connect(self.prev_image)
self.next_button = QPushButton('Next')
self.next_button.setEnabled(False)
self.next_button.clicked.connect(self.next_image)
button_layout = QHBoxLayout()
button_layout.addWidget(self.open_button)
button_layout.addWidget(self.prev_button)
button_layout.addWidget(self.next_button)
layout = QVBoxLayout()
layout.addWidget(self.image_label)
layout.addLayout(button_layout)
self.setLayout(layout)
def open_image(self):
file_path, _ = QFileDialog.getOpenFileName(self, 'Open Image', '', 'Image Files (*.png *.jpg *.bmp)')
if file_path:
self.image_path = file_path
self.image = QPixmap(file_path)
self.image_label.setPixmap(self.image)
self.prev_button.setEnabled(False)
self.next_button.setEnabled(True)
def prev_image(self):
pass
def next_image(self):
pass
if __name__ == '__main__':
app = QApplication(sys.argv)
iv = ImageViewer()
iv.show()
sys.exit(app.exec_())
```
这个示例创建了一个`ImageViewer`类,它继承自`QWidget`,并包含一个`QLabel`控件用于显示图像,以及三个按钮:打开图像、上一个图像和下一个图像。
当用户单击“打开图像”按钮时,会弹出一个文件对话框,允许用户选择要查看的图像文件。所选文件的路径将存储在`self.image_path`变量中,并使用`QPixmap`创建一个`QImage`对象。然后,将该图像显示在`QLabel`控件中。
上一个和下一个按钮当前都不可用,因为我们还没有实现这些功能。但是,你可以使用此代码作为起点来编写一个完整的PyQt5图片查看器。
阅读全文