转换工具

pyuic工具

我们在打开File > Settings > Tools > External Tools后,点击左上角的+号,进行配置填写:

  • Name输入pyuic,
  • Programs输入 你自己的qgis应用地址/bin/python-qgis.bat,
  • Argument输入 -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$win.py ,
  • Working directory输入 $FileDir$

然后通过右键ui/main.ui,选择exterl-tools,pyuic

pyrcc工具

我们在打开File > Settings > Tools > External Tools后,点击左上角的+号,进行配置填写:

  • Name输入pyrcc,
  • Programs输入 你自己的qgis应用地址/bin/python-qgis.bat,
  • Argument输入 -m PyQt5.pyrcc_main $FileName$ -o $FileNameWithoutExtension$_rc.py
  • Working directory输入 $FileDir$

然后通过右键resources/rc.qrc,选择exterl-tools,pyrcc,我们会在resources文件夹生成rc_rc.py,我们将其移到根目录下,并且右键项目,将其设为Source Root

启动项目

目前为止,目录结构如下

.
├── resources # 资源文件夹
│ ├── icon # 图标文件
│ └── rc.qrc # 资源文件
├── ui # 主目录
│ ├── main.ui # ui布局文件
│ └── mainwin.py # ui转py布局文件
├── main.py # 入口文件
└── rc_rc.py # 资源py文件

main.py中写入下面代码,运行后显示界面代表成功。

from PyQt5.QtWidgets import QMainWindow
from qgis._core import QgsApplication

from ui.mainwin import Ui_MainWindow


class PyQgisSEApp(QMainWindow, Ui_MainWindow):
def __init__(self, app: QgsApplication):
super(PyQgisSEApp, self).__init__()
self.app = app
self.ui = Ui_MainWindow()
self.ui.setupUi(self)


if __name__ == '__main__':
# 第二个参数为是否启用 GUI
qgs = QgsApplication([], False)
# 初始化 QGIS
qgs.initQgis()
app = PyQgisSEApp(qgs)
app.show()

qgs.exec_()
qgs.exitQgis()