Qt/C++开发经验小技巧286-290

news2024/11/22 6:25:14

国内站点:https://gitee.com/feiyangqingyun
国际站点:https://github.com/feiyangqingyun

  1. 很多时候项目越写越大,然后就可能遇到,明明之前很简单的一段代码,运行的好好的,就那么几行几十行,为何一旦加入到当前项目中,就不行了,百思不得其解。一般遇到这种情况,建议两种处理办法,办法一就是注释大法,从main函数入口开始,将不相关的都注释掉,仔细检查运行流程,直到本来不会出问题但是出问题的代码。办法二就是单独写个最简单的有问题的可以直接编译运行的示例,化繁为简,这样查找问题速度快。往往你会发现,写完这个简单的你怀疑的有问题的代码后,运行是完全正常的,他自己就好了,此时你可以安心的去排查其他代码了。

  2. 现在很多linux用wayland作为桌面显示,这样会出现一个问题,由于没有坐标系统,导致无边框窗体无法拖动和定位(一般是Qt6开始强制默认优先用wayland,之前Qt5是默认有xcb则优先用xcb),你需要在main函数前面加一行 qputenv(“QT_QPA_PLATFORM”, “xcb”);

  3. 有时候导出文件后,希望直接打开文件管理器并选中刚才打开的文件,以便用户打开处理,需要通过执行命令来实现。

QString path = "file:///e:/1.txt";
QProcess::startDetached("explorer.exe", QStringList() << "/select," << path);
  1. 在QTreeWidget/QTableWidget的信号currentItemChanged中,执行对应的clear方法也会触发该信号,这就需要特别注意了,对应该信号的两个参数 current/previous 表示当前节点和上一个节点,两个参数的值都为空,所以在该信号对应槽参数处理中,必须先判断该值是否为空指针,不判断的话很可能导致程序崩溃。

  2. 关于Qt中 += 和 *= 的区别,+= 表示添加,不会去重,而 *= 是去重添加,存在则不添加。建议用 *=,尽管 += 也能正常使用,毕竟多一个重复的不影响编译器识别。

QT += core gui
QT += core gui
message($$QT) //会打印 core gui core gui

QT *= core gui
QT *= core gui
message($$QT) //会打印 core gui

DEFINES += abc
DEFINES += abc
message($$DEFINES) //会打印 abc abc

DEFINES *= abc
DEFINES *= abc
message($$DEFINES) //会打印 abc

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1190524.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VxLAN 网络,看这一篇就够了!

你们好&#xff0c;我的网工朋友。 VLAN作为传统的网络隔离技术&#xff0c;是网工们工作中离不开的技术&#xff0c;这已经给你说过太多。 今天想跟你聊的是VXLAN。 一个字母的区别&#xff0c;你分得清VLAN和VXLAN吗&#xff0c;他们有啥区别&#xff1f;你知道VXLAN到底是…

Python Opencv实践 - 车牌定位(纯练手,存在失败场景,可以继续优化)

使用传统的计算机视觉方法定位图像中的车牌&#xff0c;参考了部分网上的文章&#xff0c;实际定位效果对于我目前使用的网上的图片来说还可以。实测发现对于车身本身是蓝色、或是车牌本身上方有明显边缘的情况这类图片定位效果较差。纯练手项目&#xff0c;仅供参考。代码中im…

gorm的自动化工具gen_已设置图床

gorm的自动化工具gen 官方 https://gorm.io/zh_CN/gen/假设数据库结构如 这里使用gen-tool 安装 go install gorm.io/gen/tools/gentoollatest用法 gentool -hUsage of gentool:-c string配置文件名、默认值 “”、命令行选项的优先级高于配置文件。 -db string指定Driver…

【机芯智能】智能公元(语音模块)

语音模块配置 进入语音模块智能公元官网&#xff0c;配置词条和识别后的串口输出指令. 记录下相关指令以及上图的识别词条&#xff0c;方便SDK烧写后的调试 SDK烧写 4. SDK 先和电脑调试助手配合&#xff0c;验证数据

Linux开发工具之自动化构建工具-make/Makefile

文章目录 1.make/Makefile的介绍2.简单编写及使用3.ACM时间4.extern的复习5.多文件的编译5.0复习翻译过程5.1多文件的构成5.2手动编译5.3利用Makefile 1.make/Makefile的介绍 make是一个命令 makefile是一个文件[makefile也对] 之前的学习都没有维护项目结构 当有多个.c文件 先…

Triples of Cows

题目传送门 引 模拟赛 T 4 T4 T4 , 变换挺妙的, 而且感觉转换后问题就迎刃而解了 解法 强行模拟拆点重连边显然不行,会让图的边数达到 n 2 n^2 n2 级别的 —————————————————————————————————————————————————— 考虑转…

μC/OS-II---内核:任务Task

目录 内核&#xff1a;多任务&#xff08;ucos_ii.h文件的函数&#xff09;Task创建Task创建&#xff08;扩展&#xff09;Task删除/请求删除Task改变Task优先级Task挂起和恢复Task信息获取Task调度器上锁和开锁 内核&#xff1a;多任务&#xff08;ucos_ii.h文件的函数&#x…

计算机底层的秘密 摘抄笔记

https://www.bookstack.cn/read/webxiaohua-gitbook/README.md 大部分是摘抄 机器指令需要加载到内存中执行&#xff0c;因此需要记录下内存的起始地址和长度&#xff1b;同时要找到函数的入口地址并写到PC寄存器中&#xff0c;想一想这是不是需要一个数据结构来记录下这些信…

springCloud和dubbo的区别

两者都是现在主流的微服务框架&#xff0c;但却存在不少差异&#xff1a; 初始定位不同&#xff1a;SpringCloud定位为微服务架构下的一站式解决方案&#xff1b;Dubbo 是 SOA 时代的产物&#xff0c;它的关注点主要在于服务的调用和治理生态环境不同&#xff1a;SpringCloud依…

Bean——IOC(Github上有代码)

源码 https://github.com/cmdch2017/Bean_IOC.git 获取Bean对象 BeanFactory Bean的作用域 第三方Bean需要用Bean注解 比如消息队列项目中&#xff0c;需要用到Json的消息转换器&#xff0c;这是第三方的Bean对象&#xff0c;所以不能用Component&#xff0c;而要用Bean …

C语言---插入排序、希尔排序、冒泡排序、选择排序、快速排序简单介绍

文章目录 插入排序希尔排序冒泡排序选择排序快速排序 本文主要介绍用C语言实现的一些排序方法&#xff0c;有插入排序、希尔排序、冒泡排序、选择排序和快速排序&#xff0c;文章中给出的例子都是按照升序排列的。 插入排序 若数组只有一个元素&#xff0c;自然不用排序&#…

[C]环境(0/0)→ 环境配置

这里写目录标题 0x00 额环境下载解压 0x00 额 写了那么多C的入门&#xff0c;就是没写C语言的环境配置&#xff0c;乘此机会写了吧。 环境下载 直接在我这下载就好了&#xff0c;毕竟用了挺久没啥问题的 C语言环境&#xff08;gcc version 8.1.0&#xff09; 解压 最后得到…

【JAVA学习笔记】66 - 本章作业(IO流)

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter19/src/com/yinhai/homework 1.使用File类和FileWriter类 (1)在判断e盘下是否有文件夹mytemp&#xff0c;如果没有就创建mytemp public class Homework01 {public static void main(String…

大数据技术从业者注意了!使用代理IP时避开这些误区

作为一名专业的大数据从业者&#xff0c;我经常需要使用HTTP代理IP进行数据爬取工作。在这个过程中&#xff0c;我积累了一些关于使用代理IP的经验&#xff0c;同时也发现了一些新手常见的误区&#xff0c;这些误区可能会影响你的工作的效率和数据准确性。我将分享一些关于使用…

使用超融合,网络交换机如何选型与配置?

很多用户在部署超融合集群时&#xff0c;都会关注网络交换机的选型与配置。我们在这篇文章中整理了一些关于网络交换机的常见提问&#xff0c;并邀请 SmartX 技术专家进行了详细解答。 Q1. 超融合架构下&#xff0c;网络交换机是如何部署的&#xff1f;需要多少台交换机&#x…

黑芝麻智能与香港科技园签订合作备忘录,迈向全球化发展新阶段

11月6日&#xff0c;黑芝麻智能与香港科技园公司举行合作签约仪式&#xff0c;双方将合力推动黑芝麻智能香港科技创新研发中心在科技园落地&#xff0c;并促进园区打造车规级高性能智能汽车计算芯片平台。黑芝麻智能首席市场营销官杨宇欣、香港科技园公司首席企业发展总监姚庆良…

学妹刚毕业那天,我连夜用Python采集了上万份岗位数据,只为给她找一份好工作

记得学妹刚毕业那天&#xff0c;为了不让学妹毕业就失业&#xff0c;连夜我就用Python采集了上万份岗位&#xff0c;分析出最合适她的工作。 为此&#xff0c;学妹连夜来我家表示感谢&#x1f60d; 我们开始今天的正题吧 首先要准备这些 软件 Python 3.8Pycharm 模块使用 …

棱镜七彩加入UOS主动安全防护计划(UAPP),共建信创生态

近日&#xff0c;在统信UOS主动安全防护计划&#xff08;UAPP&#xff09;技术沙龙上&#xff0c;2023年度第二期UAPP合作伙伴授牌发布仪式正式举行。棱镜七彩作为国内专注开源安全与软件供应链安全的创新型厂商&#xff0c;正式获得官方授牌&#xff0c;成为 UAPP 成员单位。 …

2021年09月 Python(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python等级考试(1~6级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 对于数列3,8,11,15,17,19,25,30,44,采用“二分查找”法查找8,需要查找多少次? A:5 B:4 C:3 D:2 答案:D 按二分查找法的规律,每次先查找中间值,进行比较。 第2题…

在vue中如果头像为空时用姓名第一个字当头像

业务场景:当个人资料或者用户头像没有图片时&#xff0c;默认使用户名字中第一个汉字做头像。 效果图&#xff1a; 完整代码&#xff1a; <el-avatarsize"large" style"width: 45px; height: 45px; line-height: 45px; font-size: 24px"v-if"…