
qt
文章平均质量分 92
半宛清愁
枯藤长出枝桠,原来时光已翩然轻擦。
展开
-
qt处理程序异常崩溃
程式难免会有异常崩溃的时候,重要的是在崩溃时能及时把重要的数据保存好,将损失减少。保存数据仅是拯救措施,更重要的是找到错误的根源。若能在崩溃的同一时候,程式自己主动记录下崩溃时的执行信息,将有助于修正工作。微软提供了“DbgHelp”错误调试技术。调用相关功能就可以保存程式崩溃时的信息,然后借助WinDbg软件就能分析出当时的执行状况。调用“DbgHelp”的MiniDumpWrite翻译 2018-02-06 10:16:20 · 33614 阅读 · 8 评论 -
Qt Remote Objects 静态Replica
在QtRO中Replica实际上有两种:静态的和动态的。所谓静态,就是Source和Replica都通过rep文件作为接口定义,进而连接通信;而所谓动态是指Replica这边不再需要rep文件,而是运行时动态获取接口定义。实例讲解 在这个例子中我们创建两个工程:Server和Directconnect。在Server中我们将实现功能类,一个能接收消息并发送消息的...原创 2018-08-06 20:04:00 · 3706 阅读 · 5 评论 -
Qt Remote Objects 动态Replica
上一篇QtRO的文章(Qt Remote Objects 静态Replica)中我们介绍了它的静态用法,并给出了一个具体例子。这篇文章我给大家介绍动态Replica,即Dynamic Replica。Server端变化 要支持动态Replica,Server端其实不需要做太大更改,主要流程和静态Replica一致。但需要注意: 在定义rep接口...原创 2018-08-06 20:42:22 · 2215 阅读 · 0 评论 -
Linux下发布qt程序
安装patchelf百度搜索,然后解压进入文件夹用终端打开 然后执行命令:./configuremakesudo make install编译linuxdeployqt源码下载地址:https://github.com/probonopd/linuxdeployqt解压后用qt编译打开编译好的文件夹进入bin文件夹找到这个文件linuxdeployqt...原创 2019-06-04 18:23:52 · 6666 阅读 · 0 评论 -
qt linux下发布
安装patchelf百度搜索,然后解压进入文件夹用终端打开 然后执行命令: ./configure make sudo make install编译linuxdeployqt源码下载地址: https://github.com/probonopd/linuxdeployqt 解压后用qt编译打开编译好的文件夹进入bin文件夹找到这个文件linuxdeployqt...原创 2018-08-23 14:17:36 · 794 阅读 · 0 评论 -
qt调用python脚本
安装python-3.7.0 下载地址:https://www.python.org/downloads/release/python-370/ 新建test工程(vs2013、qt5.7.0) 导入python库 编写test代码#include <QtCore/QCoreApplic...原创 2018-10-15 16:44:51 · 4495 阅读 · 0 评论 -
Qt 应用程序重启
重启,也就是退出当前进程,启动一个新的进程。于是,先看程序如何退出退出Qt程序的一般结构如下:int main(int argc, char *argv[]){ QApplication a(argc, argv); MainWindow w; w.show(); return a.exec();}最后一句启动了主线程的事件循环。而要退出程序...原创 2019-04-05 15:27:34 · 11266 阅读 · 2 评论 -
qt delete使用
在C++中学习过程中,我们都知道:delete 和 new 必须 配对使用(一 一对应):delete少了,则内存泄露,多了麻烦更大。Qt作为C++的库,显然是不会违背C++的前述原则的。可是:在Qt中,我们很多时候都疯狂地用new,却很少用delete,缺少的 delete 去哪儿了?!Qt半自动的内存管理在Qt中,以下情况下你new出的对象你可以不用 亲自去delete (但你...原创 2019-04-05 15:57:30 · 4134 阅读 · 0 评论 -
qt 提高代码质量
① Use multi-arg instead【不要使用一连串的 arg().arg().arg() 了】QString("%1 %2").arg(a).arg(b); // BadQString("%1 %2").arg(a, b); // one less temporary heap allocation② parameter 'list' is passed by valu...原创 2019-04-16 10:23:09 · 6868 阅读 · 12 评论 -
Qt Remote Objects 简介
QtRO是Qt RemoteObjects的简称,是从5.9开始Qt官方推出的一个用于进程间通信(IPC)的新模块。虽然该模块目前仍处于TP阶段,但已经足够稳定。由于项目开发需要,我们将一个大项目划分成了若干个子工程,各个子工程都是独立的程序,因此需要使用IPC来进行各模块间的协同工作。QtRO优势Qt-like编程。由于是官方模块,QtRO使用Qt经典的信号与槽进行编程通...转载 2018-08-05 09:02:39 · 10691 阅读 · 5 评论 -
Ubuntu 16.04 下配置qt连接mysql环境-----无需编译驱动
1、安装libmysqlclient-devsudo apt-get install libmysqlclient-devsudo apt-get install libqt5sql5-mysql2、进入qt安装目录,/home/zmw/Qt5.6.0/5.6/gcc_64/plugins/sqldrivers ldd libqsqlmysql.so 发现问题 ...原创 2018-04-10 10:21:38 · 1617 阅读 · 0 评论 -
Ubuntu 17.04下qt编译mysql驱动
1、安装 sudo apt-get install mysql-server sudo apt-get install mysql-client sudo apt-get install libmysqlclient-dev 2、编译 进入源码目录,如:~/qt-everywhere-opensource-src-5.6.0/qtbase/src/plugins/sq...原创 2018-04-08 18:20:38 · 3273 阅读 · 0 评论 -
qt定时器精度
定时器的精度取决于底层操作系统和硬件。绝大多数平台支持精度为1毫秒,尽管定时器的准确性在许多现实世界的情况下和这不相符。准确性也取决于定时器类型(Qt::TimerType)。对于Qt::PreciseTimer来说,QTimer将试图保持精确度在1毫秒。精确的定时器也从来不会比预计的还要早超时。对于Qt::CoarseTimer和Qt::VeryCoarseTimer类型,QTi翻译 2018-02-06 10:27:55 · 22927 阅读 · 0 评论 -
qt快速读取excel
很多人搜如何读写excel都会看到用QAxObject来进行操作,很多人试了之后都会发现一个问题,就是慢,非常缓慢!因此很多人得出结论是QAxObject读写excel方法不可取,效率低。 后来我曾试过用ODBC等数据库类型的接口进行读写,遇到中文嗝屁不说,超大的excel还是会读取速度慢。 最后,看了一些开源的代码后发现,Windows下读取excel,还是用QAxObject最快!没错转载 2018-02-06 10:54:16 · 28412 阅读 · 12 评论 -
qt TcpSocket 对连接服务器中断的不同情况进行判定
简述对于一个C/S结构的程序,客户端有些时候需要实时得知与服务器的连接状态。而对于客户端与服务器断开连接的因素很多,现在就目前遇到的情况进行一下总结。分为下面六种不同情况客户端网线断开客户端网络断开客户端通过HTTP代理连接服务器,代理机器断开代理客户端通过HTTP代理连接服务器,代理机器的网络断开客户端通过HTTP代理连接服务器,代理机器的网线断开服务器断开同时对转载 2018-02-06 11:27:15 · 10877 阅读 · 0 评论 -
qt获取本机IP地址、计算机名、网络连接名、MAC地址、子网掩码、广播地址
获取主机名称/* * 名称:get_localmachine_name * 功能:获取本机机器名称 * 参数:no * 返回:QString */QString CafesClient::get_localmachine_name(){ QString machineName = QHostInfo::localHostName(); return mac翻译 2018-02-06 11:35:15 · 4132 阅读 · 0 评论 -
qt界面嵌入外部进程界面
有时候需要做框架集成的东西,需要把其他客户端像组件一样集成到一个客户端中,类似于一个软件集成的平台客户端,统一用一个中心管理的客户端做类似于控制面板一样的东西去调用不同的软件。此时就必须相应不同的点击图标的事件去嵌入到主界面里面。下面简单的对windows平台上面Qt的界面中嵌入系统自带的计算机程序做简单的说明。一、首先是获取计算机程序的窗口类名称,只要利用的是VS中的Spy++工具,在v翻译 2018-02-06 11:42:33 · 28583 阅读 · 2 评论 -
qt之QSignalMapper
简述QSignalMapper我们可以理解为转发器,此话怎讲呢?比如,按钮点击的响应槽,绑定到QSignalMapper上,QSignalMapper收到按钮的点击后,又通知到另外的控件上做处理。有的朋友会问了,为什么要这么麻烦,需要转一手,不能去掉中间的QSignalMapper,而直接调用吗。答案当然是可以的,为什么需要QSignalMapper这个转发器呢,我们先来看下效果,然后再看原创 2018-02-06 14:22:44 · 16521 阅读 · 0 评论 -
qt测算程序运行时间
测试函数[html] view plain copy#include math.h> void function() { unsigned int i,j; double y; for(i=0;i1000;i++) for(j=0;j1000;j++)原创 2018-02-07 09:23:18 · 18938 阅读 · 0 评论 -
qt插件Plugin生成与使用
简述有时候,我们在做一个应用程序的时候,并不希望我们生成的软件仅仅是一个EXE文件,而是拆分成各个模块,越细越好。在未来更新发布中,都是非常的便利,我们更新的只是其中某一小部分,而不是整个应用程序。(说到这里,我们看代码吧)插件生成//我们先定义一个接口头文件plugindemoplugin.hQT_BEGIN_NAMESPACEclass QtPluginDemoIn翻译 2018-02-07 10:04:02 · 19876 阅读 · 0 评论 -
qt多显示器获取不同显示器的分辨率和位置
Qt5 多显示器获取不同显示器的分辨率和位置的方法先放官方文档链接:QDesktopWidget - Qt5 Reference在只有一个显示器的时候,获得显示器分辨率的方法是 miRPos = QApplication::desktop()->screenGeometry().width(); //原来的写法,奇怪的变量名先无视然而实际发现无论如何这个得到的分辨率都是主显示器的完整分...原创 2018-02-23 11:09:39 · 26388 阅读 · 1 评论 -
qt 判断网络链接
前言在Qt中判断网络是否连接有两种方式,其中一种是网络连接但是不一定能上网,可能只是连接了网线或者Wi-Fi,但不一定能够上互联网。另一种判断该网络是否可以连接互联网,两种情况的判别方式有所区别。正文第一种:只需要判断网络是否有连接,不一定能上网这个很简单,直接通过Qt的类QNetworkConfigurationManager自带的函数就可以判断(该方法也适用于Android平台...转载 2019-06-27 19:33:26 · 2386 阅读 · 0 评论