QT使用中的一些记录

1.qt开发中,想要主界面全屏,其他界面可以在主界面之上显示
这个如果是全部用QWidget开发的应该有很多办法可以实现,但是如果用的QOpenGLWidget做的主界面,就会出现其他界面无法占有上层的现象,这里需要使用QWindowsWindowFunctions::setHasBorderInFullScreen(tlwWindow->windowHandle(), true);来解决,官方问题方案:https://doc.qt.io/qt-5/windows-issues.html#fullscreen-opengl-based-windows。
2.想要获取同一个QTreeWidgetItem中的控件:
比如QTreeWidgetItem中添加了一个combobox和一个button,那么可以通过:combox->setProperty("item", QVariant::fromValue((void*)item));给combobox设置属性,再通过:QComboBox* combo = qobject_cast<QComboBox*>(sender()); 获取到当前操作的combobox,然后:QTreeWidgetItem* item = (QTreeWidgetItem*)(combo->property("item")).value<void*>(); 就可以拿到对应的QTreeWidgetItem了。
那么怎么拿到其他控件呢,可以把每个控件添加到item属性中:item->setData(2, Qt::UserRole + 1, QVariant::fromValue(combox)); 这样就可以通过item的data拿到对应的控件了:QComboBox* cbx = item->data(2, Qt::UserRole + 1).value<QComboBox*>(); 其他同样操作即可,但是Qt::UserRole + 1需要不同
3.
(1)mqtt可以同时订阅多个主题,这样不同主题发送的消息就可以同时处理了。
(2)mqtt的pulish函数发送QByteArray,但是如果是自定义的数据类型就不能通过简单的转换发送,否则会改变数据,比如自定义一个结构体,里面有QString类型,这就需要使用QDataStream来进行转换,关键点就是重写QDataStream &operator<<QDataStream &operator>>,用来转换自定义数据类型。参考:https://blog.csdn.net/wangyeqiang/article/details/8272912
4.QDomDocument读写xml:
读写过程倒是很多方法,但是修改节点就会遇到一个小问题,需要将修改的节点replace掉,就是可以将要修改的节点获取为oldnode,修改之后赋值给newnode,再通过replace修改。另一个小问题,QDomNode的nodeValue()为空,这里需要使用node.firstChild().nodeValue(),其中隐藏了一个text的子节点。参考:https://www.dazhuanlan.com/emedigqq/topics/949790
5.如果添加到layout中的控件叠加了,可以试试layout->**setSizeConstraint(QLayout::SetFixedSize)**;
6.form->setAttribute(Qt::WA_DeleteOnClose);可以让你new出来的widget在点击x号关闭时被删除释放,否则可能只是隐藏了。
7.如果添加到控件中的图像被切割,可以进行缩放:QPixmap scaledPixmap = pixmap.scaled(this->canvas->maximumSize(), Qt::KeepAspectRatio);

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

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

相关文章

起源,机制与趋势,如何理解和定义城市大脑

前言&#xff1a;本文从城市大脑的起源背景&#xff0c;技术支撑&#xff0c;建设重点&#xff0c;服务对象和发展目标等多个角度&#xff0c;对城市大脑如何定义进行了分析和解读&#xff0c;提出&#xff1a;城市大脑是互联网大脑架构与智慧城市建设结合的产物&#xff0c;是…

关于vtkSmartPointer使用的一些小记录

vtkSmartPointer::New()可以生成一个智能指针管理vtk的对象&#xff0c;在使用过程中因为有引用计数的概念存在&#xff0c;所以可以自动管理对象的回收和释放。 比如&#xff1a; vtkSmartPointer<vtkMatrix4x4> matrix1 vtkSmartPointer<vtkMatrix4x4>::New();…

【译】Immutable.js : 操作 Set -8

不可变集提供了强大的集合操作&#xff0c;如相交&#xff0c;联合和减法。本教程将向您展示如何使用它们&#xff0c;以及何时使用它们来代替合并列表 什么时候使用Sets和Union&#xff0c;Intersect和Subtract方法 Set的独特性质是其值始终是唯一的。不可变的设置方法强制这种…

DARPA举办AlphaDogfight决赛,AI 操控战斗机5:0战胜人类飞行员

来源&#xff1a;必达智库由美国国防部高级研究计划局&#xff08;DARPA&#xff09;举办的 “阿尔法狗决战试验”&#xff08;AlphaDogfight&#xff09;决赛当地时间8月20日于正式落下帷幕。最终&#xff0c;赫伦系统公司&#xff08;Heron Systems&#xff09;在虚拟空战中以…

A. PHP文件运行原理

转载于:https://www.cnblogs.com/youyuanjuyou/p/8099665.html

xshell 上下左右键乱码和退格键失效

我刚装的Linux环境是Ubuntu20.04&#xff0c;使用的xshell连接。 使用vi编辑文件时方向键会出现ABCD这些乱码&#xff0c;我觉得是因为vi不全导致的&#xff0c;安装vim之后问题解决&#xff0c;不需要像其他文章里说的那样&#xff0c;在属性里设置终端类型和键盘序列。 sudo…

智源研究院首席科学家刘嘉:认知神经的未来发展规划是什么?

来源 | AI前线演讲嘉宾 | 刘嘉编辑 | 冬梅8 月 24 日&#xff0c;北京智源人工智能研究院在京举办了人工智能的认知神经基础发布会。会上&#xff0c;智源研究院发布了重大研究方向——“人工智能的认知神经基础”&#xff0c;以跨学科交叉方式进一步夯实人工智能的科学基础。…

QT的mouseMoveEvent事件失效

void TalkWindow::enterEvent(QEvent *event){ grabMouse();}void TalkWindow::leaveEvent(QResizeEvent *event){ releaseMouse();} 在窗体里写这个鼠标事件就可以了&#xff0c;自己的业务还是在mouseMoveEvent的事件里去处理&#xff0c;网上有其他说什么QMAINwiNDOW的 cent…

ubuntu20.04安装Qt5.15.2并配置环境

qt官方取消了离线安装的方式&#xff0c;所以推荐在线安装&#xff0c;当然&#xff0c;如果想要自己通过源码编译也可以&#xff0c;参考官方文档&#xff1a;https://wiki.qt.io/Building_Qt_5_from_Git。 在线安装&#xff1a; 1.到官方网站下载&#xff1a;wget https://do…

最全数学各个分支简介

来源&#xff1a;算法数学俱乐部编辑 ∑Gemini数论人类从学会计数开始就一直和自然数打交道了&#xff0c;后来由于实践的需要&#xff0c;数的概念进一步扩充&#xff0c;自然数被叫做正整数&#xff0c;而把它们的相反数叫做负整数&#xff0c;介于正整数和负整数中间的中性数…

Centos 6.5部署nginx+uwsgi+django

Centos 6.5部署nginxuwsgidjango 一、安装python3&#xff0c;系统默认是python2.6 1、安装依赖软件yum -y install sqlite-develyum -y install make zlib zlib-devel gcc-c libtool openssl openssl-devel2、下载安装python3.6wget https://www.python.org/ftp/python/3.6.1/…

maven 引入外部jar包的几种方式

方式1&#xff1a;dependency 本地jar包 <dependency><groupId>com.hope.cloud</groupId> <!--自定义--> <artifactId>cloud</artifactId> <!--自定义--> <version>1.0</version> <!--自定义--> <scope>sys…

三大运营商集体为电费发愁,宣布“智能化关闭5G基站”,5G建设能省则省!

来源&#xff1a;卫星与网络何为“智能化关闭5G基站”本月初有消息称&#xff0c;中国联通洛阳分公司分别对已经入网的3种不同基站射频单元设备&#xff08;AAU&#xff09;&#xff0c;分不同时段定时开启空载状态下的深度休眠功能&#xff0c;从而实现智能化基站设备能耗管控…

mac brew install nginx遇到的坑

默认使用 brew install nginx 出现了一下的错误&#xff1a; localhost:testdj newstart$ brew install nginx > Installing dependencies for nginx: openssl, pare > Installing nginx dependency: openssl > Downloading https://homebrew.bintray.com/bottles/ope…

脑电传感器并不复杂,那精度呢?

来源&#xff1a;网络脑电传感器并不复杂&#xff0c;只是精度很难保证。本质上就是一个金属电极加上一个放大器&#xff08;前置保护&#xff09;&#xff0c;主要是防止传输过程中电压发生改变。一、介绍脑电波&#xff08;EEG&#xff09;检测其实和在医院常见的心电图&…

前端智能化的加速时刻:华为机器视觉的创新方程式

来源&#xff1a;脑极体守林员小陈每天的工作&#xff0c;大部分时间都用来在林间巡逻&#xff0c;以便第一时间发现安全隐患。枯燥繁重的工作让年轻的他有点郁闷。有天他举着朋友圈里转发的文章问领导&#xff0c;听说有地方都能用AI来识别山火了&#xff0c;咱们啥时候能用上…

Vue-Router + Vuex 实现单页面应用

效果查看(一个食品安全网,大家也可以发布一些食品安全的见闻,尽举手之劳): 源代码:https://pan.baidu.com/s/1i43H3LV 如果想要服务器端代码可以在评论里说明一下 利用vue路由和vuex实现了一个单页面应用&#xff0c;项目结构如下: 入口&#xff1a;main.js import ./global.cs…

改变宇宙之前,GPT-3最先改变的可能是OpenAI

大数据文摘出品来源&#xff1a;bdtechtalks编译&#xff1a;HippoGPT-3是人工智能研究实验室OpenAI的最新成果。它是有史以来规模最大的语言模型&#xff0c;引发了一系列关于人工智能将如何快速改变众多行业的讨论。但是&#xff0c;很少有人去讨论GPT-3是如何改变OpenAI本身…

Java王者火柴人

前言 基于Java的飞翔小鸟游戏&#xff0c;本代码来自b站up主分享。本游戏所需的图片素材需要自己获取并下载&#xff0c;在此视频下&#xff0c;视频链接&#xff1a;【Java经典小游戏项目之飞翔的小鸟】 https://www.bilibili.com/video/BV1ou411o7br/?p10&share_source…

Windows 快捷键

win快捷键&#xff1a; 单独按Windows&#xff1a;显示或隐藏 “开始”功能表 WindowsBREAK&#xff1a;显示“系统属性” 对话框 WindowsD&#xff1a;显示桌面或恢复桌面 WindowsM&#xff1a;最小化所有窗口 WindowsShiftM&#xff1a;还原最小化的窗口 CtrlShiftN&am…