当前位置: 首页> 文旅> 艺术 > 新品发布会文案_深圳网络优化推广公司_seo顾问推推蛙_bt磁力天堂torrentkitty

新品发布会文案_深圳网络优化推广公司_seo顾问推推蛙_bt磁力天堂torrentkitty

时间:2025/7/13 10:00:18来源:https://blog.csdn.net/szy13323042191/article/details/142385353 浏览次数:0次
新品发布会文案_深圳网络优化推广公司_seo顾问推推蛙_bt磁力天堂torrentkitty

PyQGIS Qt开发入门

1 使用 Qt Designer

QGIS在安装后已经配套了Qt Designer,可以在开始菜单 -> QGIS -> Qt Designer for QGIS点击运行程序,或者在QGIS安装目录/bin/qgis-designer.bat(或qgis-ltr-designer.bat)点击运行。

选择Main Window模板创建,点击下方的创建后,将创建如下窗口:

添加资源文件:

向资源文件中添加资源:
先添加前缀“ico”,然后添加文件

在属性编辑器中修改窗体图标:

快捷键Ctrl+R预览窗体:

我们通过Main Window模板创建的MainWindow界面已经附带了三个组件,分别是centralwidget(中心组件)、menubar(菜单栏)与statusbar(状态栏):

添加Frame控件,并设置垂直布局:

添加DockWidget并保存为ui文件:

2 PyCharm 加载ui、qrc文件

我们需要将.ui文件和.qrc资源文件都转换为.py文件。pyqt提供了pyuic和pyrcc工具来进行转换,而Pycharm提供了一个外部工具加载方法,打开File -> Settings -> Tools -> External Tools 界面,点击左上角“+”进行配置填写:

  • Name: pyuic
  • Programs: .../QGIS安装路径/bin/python-qgis.bat(或python-qgis-ltr.bat)
  • Argument: -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
  • Working directory: $FileDir$

在PyCharm工程目录中右键“ui”文件 -> External Tools -> pyuic,点击运行后“ui”文件就会转换为py文件

再次打开File | Settings | Tools | External Tools界面添加工具pyrcc:

  • Name: pyrcc
  • Programs: .../QGIS安装路径/bin/python-qgis.bat(或python-qgis-ltr.bat)
  • Argument: -m PyQt5.pyrcc_main $FileName$ -o $FileNameWithoutExtension$_rc.py
  • Working directory: $FileDir$

在PyCharm工程目录中右键“qrc”文件 -> External Tools -> pyuic,点击运行后“qrc”文件就会转换为py文件

将其移到根目录下,并且右键项目,将其设为Source Root

3 运行界面

现在创建了mainWindow.py文件,但为了避免因改动ui文件而影响业务代码,所以不能在创建出来的mianWindow.py上进行代码编写,我们应该继承这个代码里的对象,在继承对象中编写代码,我们在根目录下新建mainWindowImpl.py:

from qgis.PyQt.QtWidgets import QMainWindow
from qgis.core import QgsProject
from ui.myWindow import Ui_MainWindow
​
PROJECT = QgsProject.instance()
class MainWindow(QMainWindow, Ui_MainWindow):def __init__(self):super(MainWindow, self).__init__()self.setupUi(self)

在这个新子类中,继承了多个父类,一个是QMainWindow,这个父类表明了这个类的实现是一个主窗口对象;第二个是Ui_MainWindow,就是我们自己转换来的mainWindow.py的类。

在main.py中调用窗体:

from qgis.core import QgsApplication
from PyQt5.QtCore import Qt
from mainWindowImpl import MainWindowif __name__ == '__main__':QgsApplication.setPrefixPath(r'D:\software\QGIS 3.38.0\apps\qgis', True)QgsApplication.setAttribute(Qt.AA_EnableHighDpiScaling)app = QgsApplication([], True)app.initQgis()mainWindow = MainWindow()mainWindow.show()app.exec_()app.exitQgis()

关键字:新品发布会文案_深圳网络优化推广公司_seo顾问推推蛙_bt磁力天堂torrentkitty

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: