pyqt5显示原图不改变大小
时间: 2023-08-16 21:06:11 浏览: 113
你可以使用QLabel控件来显示原图,并将它的大小策略设置为“保持大小”。以下是示例代码:
```python
import sys
from PyQt5.QtGui import QPixmap
from PyQt5.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout
class ImageViewer(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建一个QLabel控件
self.label = QLabel(self)
# 加载图片
pixmap = QPixmap('image.png')
# 将图片设置为QLabel的背景
self.label.setPixmap(pixmap)
# 设置QLabel的大小策略为“保持大小”
self.label.setSizePolicy(QLabel.Expanding, QLabel.Expanding)
# 创建一个垂直布局
vbox = QVBoxLayout()
# 将QLabel添加到垂直布局中
vbox.addWidget(self.label)
# 设置窗口的布局为垂直布局
self.setLayout(vbox)
# 设置窗口的大小
self.setGeometry(100, 100, 400, 400)
# 显示窗口
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = ImageViewer()
sys.exit(app.exec_())
```
这个例子中,我们创建了一个名为ImageViewer的QWidget,并在其中添加了一个QLabel,然后将图片加载到QLabel中。我们通过设置QLabel的大小策略为“保持大小”来确保它不会改变图片的大小。最后,我们将QLabel添加到一个垂直布局中,并将该布局设置为窗口的布局。
阅读全文