如何设置图片的大小和主窗口一样大
时间: 2024-04-14 18:25:43 浏览: 11
要将图片的大小设置为与主窗口大小相同,你可以使用 `QLabel` 的 `setScaledContents` 方法来自动缩放图片以适应控件的大小。以下是修改后的示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel
from PyQt5.QtGui import QPixmap, QResizeEvent
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建 QLabel 控件
self.label = QLabel(self)
# 设置窗口大小和标题
self.setGeometry(100, 100, 400, 300)
self.setWindowTitle('Image Viewer')
# 重写 resizeEvent 方法,以便在窗口大小改变时自动调整图片大小
self.resizeEvent = self.on_resize
def set_image(self, image_path):
# 加载图片
pixmap = QPixmap(image_path)
# 将图片设置到 QLabel 控件中,并将图片自动缩放以适应控件大小
self.label.setPixmap(pixmap)
self.label.setScaledContents(True)
def on_resize(self, event: QResizeEvent):
# 在窗口大小改变时,重新设置图片的大小以适应控件大小
self.label.resize(event.size())
if __name__ == '__main__':
app = QApplication(sys.argv)
# 创建主窗口
window = MainWindow()
# 设置要显示的图片路径
image_path = 'path/to/your/image.jpg'
# 显示图片
window.set_image(image_path)
# 显示窗口
window.show()
# 运行应用程序
sys.exit(app.exec_())
```
现在,当你调整主窗口的大小时,图片将自动缩放以适应新的窗口大小。