文章目录
- 基于PyDracula搭建一个深度学习的界面
- 插入一个启动界面
- 1启动页面的资源如何加载与管理?
- 2启动界面的代码如何写?
基于PyDracula搭建一个深度学习的界面
插入一个启动界面
1启动页面的资源如何加载与管理?
1. 问题一
启动界面包含一张图片,代码中包含一个这样的代码
pixmap = QPixmap("1.png")
想将其中图片使用pyside资源管理器resources.qrc来管理,方便后期能够标准化打包。应该如何去实现?
1. 解答一
首先将添加图片到资源文件的images下面,添加方式如下图所示
点击确定之后我们重新编译resources.qrc
将新编译的resources_rc.py拷贝到modules文件夹下面。
到这里我们的资源就添加完毕了
2启动界面的代码如何写?
2. 问题二
启动界面的代码如何写?
2.解答二
我们将启动界面代码写在main.py,那么这样就可以有启动界面的效果
class LoadingWindow(QWidget):def __init__(self):super().__init__()# 设置无边框窗口self.setWindowFlags(Qt.FramelessWindowHint)# 设置窗口为16:9比例self.setFixedSize(700, 380) # 800x450 是16:9比例的尺寸self.mainLayout = QVBoxLayout()self.setLayout(self.mainLayout)# 延迟3秒后切换到主窗口QTimer.singleShot(3000, self.openMainWindow)def openMainWindow(self):"""打开主窗口并关闭加载窗口"""self.close() # 关闭加载窗口self.mainWindow = MainWindow() # 创建主窗口self.mainWindow.show() # 显示主窗口def paintEvent(self, event):"""重写paintEvent,设置窗口背景图"""painter = QPainter(self)pixmap = QPixmap(":/images/images/images/1.png") # 使用高分辨率图片pixmap = pixmap.scaled(self.size(), Qt.IgnoreAspectRatio, Qt.SmoothTransformation)painter.drawPixmap(0, 0, pixmap) # 绘制已缩放的图片class MainWindow(QWidget):
....
....
....if __name__ == '__main__':app = QApplication(sys.argv)app.setWindowIcon(QIcon("icon.ico"))window = LoadingWindow()window.show()sys.exit(app.exec())
这里关键是确认图片路径。我们需要找到modules\ui_main.py文件中与1.png存放与同一个文件夹的图片的路径是怎么写的。如下图:
同理
pixmap = QPixmap(":/images/images/images/1.png") # 使用高分辨率图片
那么我们就完成了给PyDracula添加一个启动界面。