QGIS开发--小例子

2023-11-17

文接上篇
上次说到QGIS开发小插件的问题,讲了插件怎么开发,开发好了放哪个地方,界面怎么设置,代码怎么关联。并且遗留了一些小问题,就是怎么添加多个界面,怎么实现界面跳转,这篇文章主要就是解决这个问题的。
这次内容有两个:1、界面关联、跳转;2、部分功能实现。
1、界面关联、跳转
在上一篇文章的基础上,我在Qt Creator中新建了一个ui(或者把其他的ui文件拷贝过来也行),然后就可以修改这个界面了,注意,修改好之后,需要编译一下(方法见上一篇文章)。
这下界面算是有两个了,怎么关联呢,网上有很多教程,不过都是在同一项目下,然后C++语言编写的,和我的需求不一致,搜索了一上午+半下午,还是没有效果。
所以我也尝试了很多方法,比如找官网(英文内容看不懂,并且不全面)、加群(里面有大神,但是不给你讲),在没有办法的情况下,我在想从插件本身出发,看看插件是从哪个类开始进入的,进入之后是哪个类用来调用和显示界面的,类里面是哪句话来实现的。所以就把插件里面类看了一下,果然,在插件的主类中,就是名称和你的插件一致的那个python文件,发现了打开方法。
在这里插入图片描述
从这个图片中,你应该就能看出端倪,首先实例化你需要显示的控件,(前面一定要添加该控件的引用,import ***),然后调用 show 方法,然后再调用 exec_ 方法。这样三步就把界面显示出来了。
注意:你可以在你需要的地方,写上这段代码,比如在某个窗口按钮的点击事件中。
2、部分功能实现
在实现了这个界面跳转效果之后,我又想加一点小功能,比如打开文件,显示图片等。所以就做个小Demo,在做的时候发现不少问题:Qt Creator 中控件很少,并且控件的属性不知道啥意思,不知道有哪些控件,控件的属性如何用代码修改,说白了就是没有找到这些控件的API文档,这点很不好。
这里附上一些代码,以供参考。

  def changePicture(self):# 通过label控件,来显示图片
    filename=QFileDialog.getOpenFileName(filter="images(*.jpg *.png)") #浏览找到文件
    a=QPixmap(filename)
    self.ui.label.setPixmap(a) #设置label控件的属性
  def chagePage(self): #修改 tabWidget 控件的显示页
    self.ui.tabWidget.setCurrentIndex(1)

总结:
1、Qt Creator 的API 没有找到,导致对控件的设置不顺畅,有方法的同学可以提供一下。
2、这种插件的开发方式,虽然实现了效果,但还是比较繁琐,如果开发稍微大点的项目,就会很尴尬了,所以还是按照上篇博文提到的,利用pycharm+qt+qgis的开发方式比较好,后面如果有需要的话,我就尝试一下这种方式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QGIS开发--小例子 的相关文章

  • maven(四):一个基本maven项目的pom.xml配置

    继续之前创建的test项目 一个基本项目的pom xml文件 通常至少有三个部分 第一部分 项目坐标 信息描述等
  • IDEA2020.1中plugins中搜索不到插件问题解决

    方法1 老版本的 File gt setting界面 gt Updates gt 去掉Use secure connection的勾 方法2 https plugins jetbrains com 设置完多等一会就能搜索了 再不行就用手机热
  • jQuery.extend 函数详解

    转载自 http www cnblogs com RascallySnake archive 2010 05 07 1729563 html jQuery extend 函数详解 jQuery 的 extend 扩展方法 jQuery 的扩
  • C# NPOI写excel文件,设置某个单元格为自动筛选

    https blog csdn net qq 40467670 article details 118102078 如标题所示 附上几行代码 HSSFWorkbook workbook new HSSFWorkbook 创建工作表 var
  • QGIS二次开发08:QGIS的二次封装例子

    QGIS体系过于庞大 对二次开发有一定的学习难度 同时在后续的多个项目中会有大量相同功能的应用 因此有必要进行二次封装 暴露必要的实现接口 从而简化开发的难度 一 基础封装功能 1 空间数据加载和显示 实现工程文件加载和显示 2 地图交互动
  • 免费JS富文本编辑器 总有一款会适合你

    什么是富文本编辑器 概述 javascript Text Editor 我们平常在页面上写文章 或者 后台发布文章内容 或内容描述等 一直都是用的是富文本编辑器 包括很多论坛发帖的文字窗口也是典型的富文本编辑器 它跟office中的word
  • Gradle自定义插件详解

    首先认识plugin plugin采用groovy语言来编写 如果你对groovy语言不是很熟悉 请首先过一下groovy语法结构 groovy是运行于JVM的敏捷脚本语言 其最后会被编译成标准的JAVA语言 groovy语言最核心的应该是
  • VS2019+QGIS开发库二次开发环境搭建

    VS2019 QGIS开发库二次开发环境搭建 总共分为以下步骤 下载qgis和二次开发库 VS2019搭建开发环境 配置VS2019中的Qt插件 配置完Qt版本后对工程属性进行配置 编写测试代码 运行测试代码 拷贝运行程序需要用的动态库文件
  • js复制功能插件

    JavaScript内容复制插件Clipboard js
  • Qgis二次开发包下载及配置

    实习已经一个多月了 这周的任务需要用到qgis 所以首先需要编译并配置好这个库 自己尝试编译这个库 但是感觉很复杂 中间出的问题没能解决也就放弃了 还得找时间再试试 后来在网上找到了另外一个教程 其中提到可以利用Osgoe4W下载qgis二
  • QGIS:生成网格的步骤

    第一步 打开工具箱中的 创建网格 第二步 按照自己的需求设置参数 特别说明 1 网格类型要选 矩形 默认是点 2 网格范围可以自己定义范围 右边倒三角点开第三个 3 间隔设置不能超过网格范围 单位跟选择的坐标参考系相关联 mercator坐
  • QGIS开发--小例子

    文接上篇 上次说到QGIS开发小插件的问题 讲了插件怎么开发 开发好了放哪个地方 界面怎么设置 代码怎么关联 并且遗留了一些小问题 就是怎么添加多个界面 怎么实现界面跳转 这篇文章主要就是解决这个问题的 这次内容有两个 1 界面关联 跳转
  • jspdf

    使用html2canval将html转为canvas 再使用jspdf实现导出pdf 需设置要导出的每一页为1400 900 要导出pdf的父元素容器不能有隐藏和滚动条 隐藏部分html2canval无法截屏转为canvas functio
  • 编写谷歌插件v3遇到“ReferenceError: window is not defined”错误

    一 背景 得空学一下插件的编写Chrome Extensions 在GitHub找一些例子来看看 不过大多数都还是V2的 有些写法已经过时了 用不了 必须得对着文档来进行修改才行 练习的例子上 想写一个右键菜单 显示本机ip地址的跳转入口
  • sublime text 3神奇的插件--snippet

    像之前用VS 做项目时 任意创建一个asp网页 都会自动出现一些基础的代码 毕竟是微软把大家养的太舒服 总感觉用sublime text时每次手敲一些重复代码时特别无辜 所以查阅了一下package control 终于发现了这一神器 创建
  • VLC for unity 插件如何使用

    VLC for unity 插件如何使用 先去下载一个VLC播放器 安装完成后 然后导入插件链接https download csdn net my 这个插件我的另一个上传资源里有 或者到商店去下载 这个插件链接下载完是一个txt文档 里面
  • 使用Python计算多边形形状文件中的点数

    我有一个美国的多边形形状文件 由各个州组成作为它们的属性值 此外 我有数组存储我也感兴趣的点事件的纬度和经度值 本质上 我想 空间连接 点和多边形 或执行检查以查看每个多边形 即状态 点在 然后将每个状态中的点数相加 以找出哪个状态具有最多
  • Topojson:如何在GIS软件中设计有效的多边形、线、点?

    到目前为止 我一直使用网络上的 GIS 文件 这些文件为我提供了行政多边形 河流 陆地等 然后我将它们转换为 Topojson 格式以提供 D3js 今天我必须在 Quantum GIS QGIS 中设计自己的图层 wine areas 同
  • 我无法安装包 spatstat.data。是否可以下载 zip 文件并复制并粘贴到 R 文件夹库中?

    新的错误消息 https i stack imgur com gy84q png我更新了spatstat包 它分为各个包 除了 spatstat data 之外 所有这些都已更新 我努力了install packages spatstat
  • 有没有人在 Ubuntu 16.04 LTS 上安装 QGIS

    按照以下网址提供的说明进行操作 这一页 http www qgis org en site forusers alldownloads html并收到以下错误 以下软件包具有未满足的依赖关系 python qgis Depends pyth

随机推荐

  • J1939协议中CAN ID 与PGN互换--遇到了广播报文

    Ref J1939 Explained A Simple Intro 2021 CSS Electronics Ref CAN 帧ID 与J1939 PGN 转换例子 horse 2007s的博客 CSDN博客 Ref 在J1939中多帧数
  • Linux下Docker安装mysql

    1 下载mysql镜像 访问 MySQL 镜像库地址 https hub docker com mysql tab tags 也可以用命令查看可用版本 docker search mysql 下载mysql镜像 默认下载最新稳定版 dock
  • C语言中putchar()函数的使用

    今天教C语言中的输入输出语句 对函数putchar 函数有些好奇 难道就只能输出char型的数据么 带着这样的疑问 在环境上进行了验证 验证结果还蛮有意思 共享一下 当我们定义一个变量a 并给a赋予0 255的值 很显然没有问题 如代码 i
  • ERP订单管理的操作与设计--开源软件诞生19

    赤龙ERP订单模块讲解 第19篇 用日志记录 开源软件 的诞生 点亮星标 祈盼着一个鼓励 博主开源地址 码云 https gitee com redragon redragon erp GitHub https github com red
  • GC算法原理

    JVM 垃圾回收原理 对于JVM的垃圾收集 GC 这是一个作为Java开发者必须了解的内容 那么 我们需要去了解哪些内容呢 其实 GC主要是解决下面的三个问题 哪些内存需要回收 什么时候回收 如何回收 回答了这三个问题 也就对于GC算法的原
  • sudo堆缓冲区溢出提权漏洞(CVE-2021-3156)

    0x01 漏洞描述 这个漏洞被披露于2021年1月26日 漏洞的载体是我们常用的sudo命令 当sudo通过 s或 i命令行选项在shell模式下运行命令时 它将在命令参数中使用反斜杠转义特殊字符 但使用 s或 i标志运行sudoedit时
  • CTF MISC解题思路BUUCTF MISC9-16刷题

    1 文件中的秘密 查看文件属性备注 flag 870c5a72806115cb5439345d8b014396 2 wireshark 使用wireshark打开文件 菜单 编辑 查找分组 搜索关键字flag 在数据包中找到flag 3 L
  • 量化交易系统框架

    转自 https www cnblogs com huangfuyuan category 1290537 html
  • 华为OD机试 - 最大花费金额(Python)

    题目描述 双十一众多商品进行打折销售 小明想购买自己心仪的一些物品 但由于受购买资金限制 所以他决定从众多心仪商品中购买三件 而且想尽可能的花完资金 现在请你设计一个程序帮助小明计算尽可能花费的最大资金数额 输入描述 输入第一行为一维整型数
  • 【Git CMD】Git常用命令总结

    目录 0 git的工作区 暂存区 本地仓库和远程仓库 0 1 图解 0 2 解析 1 本地仓库 1 1 创建版本库 1 2 分支 1 2 1 查看本地仓库的分支信息 1 2 2 创建分支 1 2 3 切换分支 1 2 4 重命名分支 1 2
  • win10计算机无访问权限,win10系统提示无internet访问权限怎么办

    原标题 win10系统提示无internet访问权限怎么办 大家好 今天分享一篇来自小白系统官网 xiaobaixitong com 的图文教程 win10系统提示无internet访问权限怎么办呢 很多朋友反映在使用电脑的时候出现没有网络
  • 【C语言篇】数组作为函数参数

    一 一维数组作为函数参数 1 数组名当做函数实际参数 也是值传递 不过是传递的地址而已 include
  • adworld-web2

    web2 GFSJ0627积分 2金币 2 91最佳Writeup由 Robert Wei 提供 收藏 反馈 难度 2 方向 Web 题解数 108 解出人数 10185 题目来源 CTF 题目描述 解密 题目场景 http 61 147
  • SSM到底学了什么--SSM回顾

    SSM回顾 学习完MyBatis Spring和SpringMVC 个人进行一下回顾 看看还能记住多少 重点的地方一定要闭着眼睛都要写出来的 前面的笔记做得很详细 那里忘了点哪里哈哈哈哈 MyBatis框架笔记 Spring框架笔记 Spr
  • 超详细的Linux环境下使用git上传代码教程(gitee版)

    git是一个版本控制器 我们使用它上传我们以前写过的代码给他进行托管 更为方便以后找到 同时也方便我们找到我们每次更改了什么 创建仓库 使用 git 命令行 Linux下的操作 git三板斧 在远端修改了文件push不了怎么办 删除仓库已提
  • 29岁总结复盘

    1 qt界面图片上加文字 2 mysql查询最新一百条数据 3 线程操作数据库死锁了怎么做 4 qt元 连接第五个参数 5 项目框架 整体把控 6 opencv 7 视频采集卡 8 做事要有深度 这才是你的价值 可以说计算机领域多数情况下就
  • 一个简单的WebService实例

    WebService在 NET平台下的作用是在不同应用程序间共享数据与数据交换 要达到这样的目标 Web services要使用两种技术 XML 标准通用标记语言下的一个子集 XML是在web上传送结构化数据的伟大方式 Web servic
  • 安装配置qt_eventdispatcher_libevent

    QT默认的是使用select模型的 这种轮询方式非常慢 在高并发连接 我们需要epoll才能发挥linux服务器的性能 安装qt eventdispatcher libevent 下载安装包后 解压 找到src目录 用Qt打开pro工程 然
  • matplotlib绘图系列----pie饼图

    使用plt pie绘制饼图 绘制饼图我们用matplotlib pyplot pie 我们先看下他的基本参数 下面结合实例演示基本用法 coding utf 8 加入中文显示 import matplotlib pyplot as plt
  • QGIS开发--小例子

    文接上篇 上次说到QGIS开发小插件的问题 讲了插件怎么开发 开发好了放哪个地方 界面怎么设置 代码怎么关联 并且遗留了一些小问题 就是怎么添加多个界面 怎么实现界面跳转 这篇文章主要就是解决这个问题的 这次内容有两个 1 界面关联 跳转