当前位置:首页>python>38.Python实战__如何加载图片

38.Python实战__如何加载图片

  • 2026-10-11 05:58:37
38.Python实战__如何加载图片
    今天来聊一个很现实的问题,我们在写GUI窗口时,有时候经常需要用到图片,那如何来加载图片到窗口中呢?
    其实前面也提到过一次,最常用的方法是用一个标签控件来显示图片;看显示效果如下:
下面是我的小插件,里面也有很多图片:
本节用到的新内容如下:
1)QPixmap( )类,用来加载一张图片对象,并返回图片对象;
2)scaled( 宽,高) 类,接收一个pixmap对象,对图片其进行缩放;
3)使用QLabel( ).setPixmap( )为标签设置图片;
附原代码如下:
一、先导入用到的类
from PySide6.QtCore import Qtfrom PySide6.QtGui import QPixmapfrom PySide6.QtWidgets import QWidget,      QApplication, QGridLayout, QLabel
二、创建类Win并继承自QWidget
class Win(QWidget):        def __init__(self):        super().__init__()                # 设置窗口标题                self.setWindowTitle("加载图片")                       # 创建网格布局                self.main_layout = QGridLayout()                # 把网格布局设置给主窗口                self.setLayout(self.main_layout)                self.main_layout.setAlignment(Qt.AlignmentFlag.AlignTop)                # 创建setup_01 实例方法                # 在实例方法中创建控件                self.setup_01()
三、创建实例方法setup_01
def setup_01(self):        # 创建一个标签        self.label_1 = QLabel("一、已知三角形∠A=50°,∠B=60°,∠C=70°,\n"                          "      且外接圆半径为10,求各边a,b,c长度?")        self.label_1.setStyleSheet("font-size:17px;")        self.label_1.setAlignment(Qt.AlignmentFlag.AlignTop)        self.label_2 = QLabel()       # 创建一个QPixmap对象加载图片     pix_map = QPixmap("./正弦定理.png")        # 对图片进行缩放        scaled_pix_map = pix_map.scaled(270, 300)        # 使用setPixmap()方法,给标签设置图片对象    self.label_2.setPixmap(scaled_pix_map)      # 把标签1 添加到主网格布局      self.main_layout.addWidget(self.label_1, 0, 0)        # 把标签2 添加到主网格布局    self.main_layout.addWidget(self.label_2, 0, 1, 1, 2)
四、创建主函数,运行主程序
if __name__ == "__main__":        import sys        app = QApplication(sys.argv)        # 实例化一个对你win    win = Win()        # 显示实例化的对象    win.show()        # 运行主程序    sys.exit(app.exec())
注:需要注意的是,在scaled(宽,高) 缩放图片时,最好是宽、高比与原始图片宽、高比保持一致,这样能避免,图片在缩放时失真。    
    加载图片,其实挺简单的, 没有太多复杂的东西,大家可以动手自己练习一下。

最新文章

随机文章