1. 使用Qt Designer进行UI的设计
首先使用qt designer对界面进行设计,先设计出个主要的界面,比如下图:
这里注意在选择图标或者图片等资源的时候,首先应该考虑将要导入的资源放入项目中一个专门存储此类资源的文件夹中,如下图所示
下面介绍如何在Qt Designer引入此类资源:
点击圈1此处,输入文件名称,保存到项目下,然后点击OK处保存该文件
然后再打开该弹窗,按如下顺序,点击圈1后输入名称,再点击圈2添加图标或者图片等资源即可
到这里添加资源是完成了,那接下来便是使用了,如下面箭头所示,在push button的这个地方选择资源即可
2. 使用python对交互逻辑进行编辑
那么在python中如何对该ui进行引用呢,首先保存第一个步骤的.ui文件和res1.qrc文件到项目中,这里.ui就是界面的UI,qrc文件就是那些用到的图标的资源文件,这里注意要将qrc放在根目录。
这里介绍两个工具:
1.将.ui文件转化为py文件,便于python编程引用
按如下方法添加该转化工具
其中Argument如下:
-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
在完成后便可以将ui文件转化成py文件了,该文件主要是可以用python调用各个控件。
2. 第二个工具是将qrc资源文件转化成python文件,和上面工具一样
arguments参数如下:
$FileName$ -o $FileNameWithoutExtension$_rc.py
我的result.ui转化后得到py文件如下:
qrc文件转化后得到的py文件如下:
最后再main.py或者自己创建的py文件中写入如下即可运行。
from file_ui.result import *
from PyQt5.QtWidgets import QApplication,QMainWindow
import sys
class LoginWindow(QMainWindow):
def __init__(self):
super().__init__()
self.ui=Ui_LoginWindow()
self.ui.setupUi(self)
# 去除边框
self.setWindowFlag(QtCore.Qt.FramelessWindowHint)
self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
self.show()
if __name__ == '__main__':
app=QApplication(sys.argv)
win=LoginWindow()
sys.exit(app.exec_())
显示结果如下
若图标不见了,则可能是没有按照指定步骤来或者文件目录放置错误,还有就是,如果ui文件修改了,那么保存后文件转化也要重新做!!!