| 26 | class ImageView(QWidget): |
| 27 | |
| 28 | def __init__(self, *args, **kwargs): |
| 29 | super(ImageView, self).__init__(*args, **kwargs) |
| 30 | self.resize(800, 600) |
| 31 | layout = QHBoxLayout(self) |
| 32 | |
| 33 | # 从文件加载图片 |
| 34 | layout.addWidget(QLabel(self, pixmap=QPixmap("Data/head.jpg"))) |
| 35 | |
| 36 | # QResource 参考 http://doc.qt.io/qt-5/resources.html |
| 37 | |
| 38 | # 从资源文件中加载1 from py file |
| 39 | # 转换命令pyrcc5 res.qrc -o res_rc.py |
| 40 | # 这种方式是从通过pyrcc5转换res.qrc为res_rc.py文件,可以直接import加载 |
| 41 | # 此时可以通过路径:/images/head.jpg来访问 |
| 42 | layout.addWidget(QLabel(self, pixmap=QPixmap(":/images/head.jpg"))) |
| 43 | |
| 44 | # 从二进制资源文件res.rcc中加载 |
| 45 | # 转换命令tools/rcc.exe -binary res2.qrc -o res.rcc |
| 46 | # 这里把资源前缀修改下(/myfile),见res2.qrc文件 |
| 47 | # 此时需要注册 |
| 48 | QResource.registerResource("Data/res.rcc") |
| 49 | # 注意前缀 |
| 50 | layout.addWidget( |
| 51 | QLabel(self, pixmap=QPixmap(":/myfile/images/head.jpg"))) |
| 52 | |
| 53 | # 从xpm数组中加载 |
| 54 | # 通过工具tools/Image2XPM.exe来转换 |
| 55 | # 这里把转换的xpm数组直接放到py文件中当做一个变量 |
| 56 | # 见xpmres.py中的image_head |
| 57 | layout.addWidget(QLabel(self, pixmap=QPixmap(image_head))) |
| 58 | |
| 59 | # 加载gif图片 |
| 60 | movie = QMovie("Data/loading.gif") |
| 61 | label = QLabel(self) |
| 62 | label.setMovie(movie) |
| 63 | layout.addWidget(label) |
| 64 | movie.start() |
| 65 | |
| 66 | |
| 67 | if __name__ == "__main__": |