热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

QT使用中的一些记录

1.qt开发中,想要主界面全屏,其他界面可以在主界面之上显示:这个如果是全部用QWidget开发的应该有很多办法可以实现,但

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


推荐阅读
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • JavaScript和HTML之间的交互是经由过程事宜完成的。事宜:文档或浏览器窗口中发作的一些特定的交互霎时。能够运用侦听器(或处置惩罚递次来预订事宜),以便事宜发作时实行相应的 ... [详细]
  • 本文整理了Java面试中常见的问题及相关概念的解析,包括HashMap中为什么重写equals还要重写hashcode、map的分类和常见情况、final关键字的用法、Synchronized和lock的区别、volatile的介绍、Syncronized锁的作用、构造函数和构造函数重载的概念、方法覆盖和方法重载的区别、反射获取和设置对象私有字段的值的方法、通过反射创建对象的方式以及内部类的详解。 ... [详细]
  • 本文介绍了pack布局管理器在Perl/Tk中的使用方法及注意事项。通过调用pack()方法,可以控制部件在显示窗口中的位置和大小。同时,本文还提到了在使用pack布局管理器时,应注意将部件分组以便在水平和垂直方向上进行堆放。此外,还介绍了使用Frame部件或Toplevel部件来组织部件在窗口内的方法。最后,本文强调了在使用pack布局管理器时,应避免在中间切换到grid布局管理器,以免造成混乱。 ... [详细]
  • C#多线程解决界面卡死问题的完美解决方案
    当界面需要在程序运行中不断更新数据时,使用多线程可以解决界面卡死的问题。一个主线程创建界面,使用一个子线程执行程序并更新主界面,可以避免卡死现象。本文分享了一个例子,供大家参考。 ... [详细]
  • Java图形化计算器设计与实现
    本文介绍了使用Java编程语言设计和实现图形化计算器的方法。通过使用swing包和awt包中的组件,作者创建了一个具有按钮监听器和自定义界面尺寸和布局的计算器。文章还分享了在图形化界面设计中的一些心得体会。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • Redis底层数据结构之压缩列表的介绍及实现原理
    本文介绍了Redis底层数据结构之压缩列表的概念、实现原理以及使用场景。压缩列表是Redis为了节约内存而开发的一种顺序数据结构,由特殊编码的连续内存块组成。文章详细解释了压缩列表的构成和各个属性的含义,以及如何通过指针来计算表尾节点的地址。压缩列表适用于列表键和哈希键中只包含少量小整数值和短字符串的情况。通过使用压缩列表,可以有效减少内存占用,提升Redis的性能。 ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 纠正网上的错误:自定义一个类叫java.lang.System/String的方法
    本文纠正了网上关于自定义一个类叫java.lang.System/String的错误答案,并详细解释了为什么这种方法是错误的。作者指出,虽然双亲委托机制确实可以阻止自定义的System类被加载,但通过自定义一个特殊的类加载器,可以绕过双亲委托机制,达到自定义System类的目的。作者呼吁读者对网上的内容持怀疑态度,并带着问题来阅读文章。 ... [详细]
  • 重入锁(ReentrantLock)学习及实现原理
    本文介绍了重入锁(ReentrantLock)的学习及实现原理。在学习synchronized的基础上,重入锁提供了更多的灵活性和功能。文章详细介绍了重入锁的特性、使用方法和实现原理,并提供了类图和测试代码供读者参考。重入锁支持重入和公平与非公平两种实现方式,通过对比和分析,读者可以更好地理解和应用重入锁。 ... [详细]
  • Java SE从入门到放弃(三)的逻辑运算符详解
    本文详细介绍了Java SE中的逻辑运算符,包括逻辑运算符的操作和运算结果,以及与运算符的不同之处。通过代码演示,展示了逻辑运算符的使用方法和注意事项。文章以Java SE从入门到放弃(三)为背景,对逻辑运算符进行了深入的解析。 ... [详细]
author-avatar
单莼de笑脸
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有