- 博客(59)
- 资源 (5)
- 问答 (1)
- 收藏
- 关注
原创 关于QJsonObject用法的思考
文章目录 在使用Qt的开发过程中,总会用到json格式文件作为配置文件。在很长一段时间,我在解析这种配置文件的时候,直接就是从最外层解析到最里层,每次解析的代码都让我感觉头大。 当时也有想过难道就没有其它方式可以使用,也就是仅仅从脑海中掠过,不再作数了。直到最近看别人的代码,发现解析的过程简单明晰,特别惭愧自己的“海量代码”,故记之。 其实方法也简单,就是把用到的数据以QMap的形式存储。具体使用QVariantMap还是QVariantList,可以根据自己的数据类型进行选择。
2022-04-21 15:04:50 1278
原创 如何清空QWidget里的widget
大家在使用QWidget等容器类(Containers)的控件时,有时需要先清空里面原来的控件,加入新的控件。添加的操作都比较熟悉,那么如何进行删除呢?不卖关子,代码奉上:QLayout* _layout = ui.widget->layout();if (_layout){ int xdd = _layout->count(); for (int i = 0; i < _layout->count(); ++i) { if (QLayoutItem* _it
2021-12-03 14:02:21 5387
原创 自动重命名算法
应用场景:在Qt中使用QListWidget或者QTreeWidget时,有时候需要从数据库中初始化一些数据,放到这些Widget里面。但是数据库里或者文件里的数据,名称可能有重复的,但是在可视化的过程中,是不能呈现两个一样的文件名。 示例:在数据库中有以下几个重名但ID不同的条目:新建文件新建文件新建文件当把它们放到QListWidget中时,我们希望显示的效果如下:新建文件新家文件(1)新建文件(2)怎么实现上面所说效果呢?代码如下: /* @bas
2021-11-24 10:35:54 564
转载 Squish for Qt:为Qt应用量身打造的自动化测试工具
转载地址:https://mp.weixin.qq.com/s?__biz=MzI5MzA3NzU3OA==&mid=2649661399&idx=1&sn=7b584cfc54e529d6ce605274d8f7bc0b&chksm=f46da8f2c31a21e4eccfe9ee0eb690045cdd8a074af0e57bceb8f605c5fcb2fb72c9d7334c28&mpshare=1&scene=1&srcid=0726zRxZM
2021-07-26 15:56:28 4915
原创 QDockWidget
在Qt Designer中,拖动Dock Widget到MainWindow界面中时,当拖动多个时,这些Dock Widget会自动紧挨着彼此在一起。比如你想布局三个Dock Widget,实现左一右二的排列。怎么办呢?当时因为疏忽,没有好好看它的属性,心里还暗想:Qt设置的这个Dock Widget真难用,其实是没有好好学习并了解它。在Dock Widget“属性编辑器”列表里,有一个属性“dockWidgetArea”,通过设置它,就可以实现上面所说的排列方式。“dockWidgetArea”:Le
2021-06-21 14:02:52 355
原创 一句话的思考
今天读到一段话:人所拥有的任何东西,都可以被剥夺,唯独人性最后的自由–也就是在任何境遇中选择一己态度和生活方式的自由-----不能被剥夺诗和音乐的出现,仿佛就是在响应人性最后的自由。“自古逢秋悲寂寥,我言秋日胜春朝”就是在阐述这种自由。这让我想到了当前生活中思维处于的“囚徒困境”,大家都在追求更好、更有意思的生活,但究竟什么是更好、更有意思呢?我发现这种说法,中国古代的先贤早就总结的很完善了,只是表述的方式不一样而已。为什么这种表达方式更触动,听起来更加合理呢?我想可能是掺杂着现代人对西方科学的
2021-06-07 13:22:40 132
原创 Qt之反射编程
这篇文章主要介绍反射(reflection)的基本思想。所谓反射,就是指对象成员的自我检查。使用反射编程(reflective programming),就可以编写出通用的操作,可对具有各种不同结构的类进行操作。使用通用的值存储器QVariant,就可以按照一种统一的方式来对基本类型和其它普通类型进行操作。在介绍反射编程之前,需要了解几个概念:元对象所谓元对象(meta object),就是描述另一个对象结构的对象。元对象模式QMetaObject是元对象模式(MetaObjec
2021-03-22 18:08:51 852
原创 制作CHM格式电子书之软件风云榜
希望看到本文的读者,如果有更好的制作方案,请一起分享出来,大家探讨一下。1. Easy CHM优点:用Word生成的html文件,放到工程目录中,添加.html文件到工程目录,直接就可以显示。缺点:贵。2.CHM Editor优点:呃,能用;缺点:在分级目录时,如果有大量图片,不能将其自动加载到程序中,Easy CHM就做到了。3. DOC2CHM江湖上听过你的名字,可是找不到,不知道是不是已经圆寂了。...
2021-02-24 11:00:54 968
原创 Qt中QSQLites数据库操作
创建数据库:QSqlDatabase database;database = QSqlDatabase::addDatabase("QSQLITE", CONNECTION_NAME);database.setDatabaseName("D:\test.db"); //不指示路径的话,数据库不会生成到想去的地方if (!database.open()){ qDebug() << "Error: Failed to connect database." << d
2021-01-29 14:50:19 316
原创 QListWiget右键实现重命名功能
刚开始学习Qt的时候,对于实现这种功能需要去网上找前辈的代码参考一下,但是发现就算是这样的一个小功能,都写的大同小异,最重要的是不可用!自己动手,丰衣足食。1. Test.h代码部分:void on_listWidget_customContextMenuRequested(const QPoint& pos);2. 以下代码可以放到构造函数中:ui.listWidget->setContextMenuPolicy(Qt::CustomContextMenu);...
2020-12-11 15:47:19 1352 3
原创 Qt中QTreeWidget(QTreeView)样式设置
QTreeView { background-color: rgb(35, 40, 49); outline: 0px; /*消除QTreeWidgetItem外层虚线框*/ border: 0px solid #000000;}QTreeView::item { border: 1px solid #000000; border-top-color: transparent; border-left-color: transpa.
2020-09-10 09:59:41 6960 3
原创 正确解决问题——应用程序无法正常启动(0xc0000007b)
目录1. 发生原因2. 解决思路2.1 程序引用的库文件跟系统的不兼容2.2缺乏dx运行环境(概率较低)3. 思路误区3.1程序是32还是64位1. 发生原因应用程序无法正常启动,出现0xc000007b错误,如下图所示根本原因:缺乏所需要的DLL,提供了错误版本的dll相当于没有DLL,提示完全一样。2. 解决思路2.1 程序引用的库文件跟系统的不兼容直接找开发者要开发使用的库文件。发布的时候,需要vc或mfc环境,release 版本到你的开发..
2020-09-09 11:01:36 6786
原创 Qt中QTabWidget的使用
1. 在Qt Designer中的基本设置QTabWidget可以在Qt Designer中进行基本的静态设置,这对于开发时制定开发框架很有帮助。1.1 增加页右键tabWidget,在弹出菜单中选择“插入页”-》“在当前页之前”/“在当前页之后”。1.2 删除页右键tabWidget,在弹出菜单中选择“2的页1”-》“删除”。其中“2的页1”表示有2个tab,当前选择的是1。...
2020-08-24 11:16:09 1661
原创 Qt中QMessageBox
1. 汉化提示按钮如果我们使用QMessageBox的静态函数方式显示提示框的话,默认按钮都是英文,如果想要显示中文,很简单:QMessageBox _warninigDia(QMessageBox::Warning, "警告", "删除可能造成其它问题\n确定要删除吗?" , QMessageBox::Apply | QMessageBox::Cancel);_warninigDia.setButtonText(QMessageBox::Apply, "确定");_warninigDia
2020-08-05 14:18:37 381
原创 Qt中读取本地JSON格式文件
void CommentDataManger::readJsonFile(){ QJsonObject json; QString strPath = QCoreApplication::applicationDirPath(); QDir dir(strPath); dir.cd("config/"); QString _strPath = dir.absolutePath() + "/myFile.json"; QFile _file(_strPath); if (_file.open.
2020-07-31 09:57:06 652
原创 VS项目中目录结构混乱
在合并代码的时候,误删了Project.vcxproj.filters文件,导致打开程序的时候,.h文件和.cpp文件杂乱无章的显示,后来通过咨询办公室的大牛,知道是因为Project.vcxproj.filters文件丢失的结果。
2020-07-16 10:11:54 796
原创 HTML显示乱码的解决方法
程序自己生成的日志文件是.html格式,打开后发现有乱码显示:Line:786 ---1---- ·ÇÕý³£-ײʯ我还以为是生成日志文件的库有问题,后来才知道,只需要在文本右键修改显示格式就行。右键选择“编码”-》“中文(简体)GBK”,解决问题。这个问题提醒我:要避免把简单的问题复杂化。...
2020-07-14 15:04:22 406
原创 解决QT+VS中无法打开/无法识别/找不到ui_xxx.h文件
https://blog.csdn.net/birenxiaofeigg/article/details/99555228?ops_request_misc=&request_id=&biz_id=102&utm_term=VS%20+%20Qt%20%E9%94%99%E8%AF%AFcannot%20open%20source%20f&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduwe
2020-05-27 15:55:10 1434
原创 Qt中QTreeWidget实现节点重命名功能
在Qt开发过程中,多次遇到要对QTreeWidget中的节点重命名,网上有很多可参考的代码,但在拿过来用后发现还是有很多问题。目前本人认为比较靠谱的参考链接如下:https://www.cnblogs.com/ling123/p/5503465.html这个参考我在实现的过程中也发现了问题:第一次启动程序重命名时没有问题,但是在程序启动后,进行第二次、第三次重命名时,就会出现问题。经过测试...
2019-03-26 11:17:08 4017 2
原创 Qt中QTableWidget的常用功能
在QTableWidget中添加button QPushButton *pBtn = new QPushButton();connect(pBtn, SIGNAL(clicked()), this, SLOT(OnBtnClicked()));ui.tableWidget->setCellWidget(_row, _column, pBtn); 基于上面添加QPushButto...
2019-03-04 14:37:22 4049 1
原创 QT中弹出对话框前置显示
_dialog->show();_dialog->raise();_dialog->activateWindow();
2019-01-30 10:39:29 834
翻译 使用QCAD进行二次开发(二)
Qt, QCAD应用框架和ECMAScript下图显示了Qt和QCAD应用程序框架所涵盖的一些主要功能。Qt涵盖了各种桌面应用程序中常见的通用功能,与CAD没有直接关系。QCAD应用程序框架提供了CAD特定的功能,如CAD核心、DXF导出和导入、强大的图形视图等。ECMAScript文件将可用的功能组合到一个应用程序中。QCAD应用程序框架的ECMAScript接口可用于非常快速地构建和扩展CAD...
2018-06-19 14:20:51 4988
翻译 使用QCAD进行二次开发之主要框架
QCAD是一款开源的2D图形绘制软件,它的开源版本所拥有的功能已经能够满足基本的图形绘制,并且可以到处.dxf或.svg格式 的图形文件,这对于绘制基本的工程图元文件来说,功能上基本满足。但是,用户需要根据自己所在领域的业务需求,进行改进,如何进行改进,将是接下来要介绍的内容。1. QCAD应用程序框架(The QCAD Application Framework )组成资源库 例如字体、剖...
2018-06-14 14:10:26 4880 7
原创 Qt中样式表_如何在开发环境中使用QSS样式表
Qt中用到的样式表代码为Qss,而QSS又是从CSS演变过来,所以如果在学习QSS之前对CSS有很好的理解,这对QSS的学习将会有很大的帮助。1. 关于Qt所有控件样式表的官方说明http://qt-project.org/doc/qt-5/stylesheet-examples.html2. 如何在程序中使用样式表如果你做的项目已经设置好统一的样式,并且多数同类控件的样式基本一致,那么就可以自...
2018-05-31 13:34:08 647
原创 [Qt5.5+VS2013] 初学总结
下面的代码部分均是在VS环境中编写的。如何在VS中新建一个Qt项目,请看:VS2010与QT的集成开发环境 因为槽和信号是Qt中比较重要的两个概念,就以testSlot项目为名开始介绍吧。实现功能:点击一个按钮,弹出对话框。新建项目testSlot,文件如图所示:2.双击“testslot.ui”文件,打开Qt Designer,拖入一个PushButton按钮。双击testSlot.h头文件,
2016-08-15 09:31:13 3642
原创 如何使用EndNote进行文献管理
在探索EndNote的使用过程中,发现一些非常有用的链接,给需要用到的人们做个参考。如何修改参考文献输出格式?http://sns.elseviermed.cn/article/topic/12043基于国家标准的 EndNote 输出样式模板 https://cnzhx.net/blog/endnote-output-style-cnzhx/具体更详细的,可以参考“科研动力ht
2016-01-11 17:23:14 1652
翻译 【FT】概念层次的可视化和交互
FT:外文翻译 Crampes M, Planti&#, , Michel. Visualizing and Interacting with Concept Hierarchies[J]. International Journal of Artificial Intelligence Tools, 2013, 24.这篇文章介绍的是如何将概念格可视化。下面是上文的摘要翻译。概念分层和形式
2015-12-18 12:03:12 894
原创 【FT】FCA应用于知识处理在模型和技术方面的调研
FT:外文翻译。 Poelmans J, Kuznetsov S O, Ignatov D I, et al. Formal Concept Analysis in knowledge processing: A survey on models and techniques[J]. Expert Systems with Applications, 2013, 40(16):6601–6623
2015-12-18 10:47:11 680
原创 office中在编写下一章时如何将最后一页设为空白页?
在编书的时候会遇到一个问题,就是每一章的开始都是奇数页,那么如何调整,将上一章的最后一页默认为空白页呢?1. 首先每一章的开始都是一个新的所在小结,比如第一章在“第1节”,第二章在“第2节”。因为在每一章的结尾处都会插入“分节符”。2. 选择要在某一章设置,如“第一章”。选择“页面布局”中的“页面设置”,如图所示,右下角红色区域标出。(或者在分节符位置双击也可打开“页面设置”)
2015-12-18 10:15:59 1265
原创 不同数制下ASCII码代表字符的值
刚开始学习ASCII码知识时,并没有意识到一个问题:根据书上给出的字符ASCII表,在编程时容易出现数制识别问题。比如字符“a”,在写汇编程序时,应该将其表示为61H(十六进制),但发现有的同学竟然以为是97(是在十进制情况下),针对这样一个问题,我决定根据不同进制,把ASCII表整理如下(其中Dec代表十进制,Hex代表16进制):(自己整理实在太麻烦,还是参考别人的图吧)
2015-11-23 11:27:57 1149
原创 学习C#和SQL的书籍
1. 《21天学通C#》 周红安等编著 电子工业出版社 2. http://blog.csdn.net/21aspnet/article/details/16822003. 《C#入门经典》4. SQL Server 2008宝典5. SQL Server 2008数据库设计与实现6. 《sqlserver2005技术内幕:t-sql查询》
2015-07-01 18:57:00 2201
原创 如何进行文献检索
很多人都说在中国做学术比较困难,其实真的困难吗?或许没有想象中那么糟糕。平时我们查找文献资料,大都是从哪里查询?中国知网是吧?但是真的会用吗?根据自己的情况,我总结一下自己在文献查找方面走过的磕磕绊绊:(1) 谷歌学术就不说了,进不去,进去了找到的相关文献有时还得让你掏出$支付,所以能进去的可以用一下谷歌学术上的引用,当然,里面的高级检索什么的,我也在学习,不介 绍。 在中国有个“谷粉”
2015-06-16 17:14:31 2089
转载 如何使用触发器?
假设现在有数据库StudentsDB,以其中的表为例,介绍向表中添加、修改或删除记录时,触发器的使用方式。1. 添加单个记录时激活触发器 现有表grades:当在grades表中添加一条记录时,Insert语句将激活触发器,新行在触发器执行期间暂存在inserted表中。 如果添加的记录在表totalgrade表中已经存在,则使用Update语句读取inserted表中的数
2015-01-13 16:27:37 1319
原创 2014年12月1日---2014年12月05日周总结
1、PowerPoint高版本向低版本转化的问题在使用10版时,如果在某一页中你使用了公式,而这种公式恰巧是使用MathType这种专门的公式编辑工具编辑的,那么你在转化成03版(我们都知道,要兼容)的时候一定要注意,这一页无论你做了多少美工或者多少动画,都以图片的格式呈现在那里,特效基本消失。还好我转化之后查看了一下,要不然,白忙活了。2、解决问题时一定要有专门的记录本目
2014-12-05 20:57:42 770
供求信息管理系统
2013-05-18
Postgresql找不到服务的问题
2022-02-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人