
qt
文章平均质量分 80
壁立千仞无欲则刚
这个作者很懒,什么都没留下…
展开
-
Qt:创建动态链接库总结(Qt5,dll)
1、DLL:创建一个dll项目一直点击下一步,直到创建完成。2、DLL:dll项目有什么不同之处?#ifndef SLD_H#define SLD_H#include "sld_global.h"#include <QDebug>class SLDSHARED_EXPORT Sld{public: Sld(); QString GetStr();};...原创 2018-02-26 11:04:02 · 4979 阅读 · 1 评论 -
Qt使用Log4qt日志系统
1、下载log4qt项目项目地址:https://github.com/devbean/log4qt注意:log4qt网上有多个项目,比如https://sourceforge.net/projects/log4qt/(已迁移到https://github.com/MEONMedical/Log4Qt),此项目用的人多,但是多个版本下载下来测试,都编译不过去,然后才找到上面那个项目,没有问...原创 2019-06-11 17:27:46 · 2507 阅读 · 3 评论 -
QImage和QPixmap
QImage和QPixmap都是可以用于显示图片的,但是有一些不同。比如说QPixmap是与硬件关联的,而QImage是硬件独立的。硬件关联的一个特点是不可以跨线程访问。就是说QImage可以单独的用线程加载,然后在另一个线程展示,而QPixmap不可以。对这个硬件关联我没有这个概念,体会不深,但是在做图片多线程加载的时候,使用QPixmap吃了很多苦头。1、QPixmap不可以使用在子线...原创 2018-10-31 17:34:16 · 7372 阅读 · 5 评论 -
Qt学习:在Qt中使用MySQL
Qt说是自带MySQL驱动,但是连接数据库时却报错:QSqlDatabase: QMYSQL driver not loadedQSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7意思是QMSQL驱动没有加载。那么尝试加载驱动呢? QPluginLoader l...原创 2018-08-30 11:26:00 · 3075 阅读 · 1 评论 -
DLL的生成与在Qt中使用
参考此文章:https://blog.youkuaiyun.com/elaine_bao/article/details/517848641、什么是静态库(.lib)静态库通常是.lib文件,在编译时从静态库中取出函数和数据,编译到exe文件中,发布软件时不需要这个.lib文件,因为需要的代码已经复制到exe文件当中。2、什么是动态库(.dll)动态库通常是.dll文件,在编译时不会将动态库中...原创 2018-09-04 09:06:45 · 412 阅读 · 0 评论 -
Qt程序开机自启动
Qt程序开发完成之后,通过自带的工具完成依赖包的添加,就可以使用了。如果要让程序开机自启动,应该将自启信息写入注册表。思路是,每次程序启动,检查是否有将自启信息写入注册表,如果没有,则写入;这样在程序第一次运行时就可以将自启信息写入注册表了。以下是实现步骤:1、写入注册表需要管理员权限如果是开发中生成并运行程序需要写入注册表时,应该以管理员权限打开QtCreator;如果是点击程序运行需要写入注册...原创 2018-07-03 09:42:15 · 9182 阅读 · 1 评论 -
Qt学习:子线程QThread的使用
在开发过程中,碰到一些耗时的操作,如果直接在主线程里处理,UI将会出现假死的现象,甚至程序会崩溃,所以这类操作最好放在子线程当中。这里有2个对象,一个是QThread,即子线程;另一个是继承于QObject的一个类,这个是要在子线程里运行的代码片段。因为这个QObject非常基础,所以几乎所有继承于其他组件的自定义类,都间接地继承于QObject,都可以放入QThread中运行。1、首先定义一个要...原创 2018-05-30 22:28:26 · 6643 阅读 · 0 评论 -
c++程序与c#程序通过命名管道通信
最近做的项目需要在两个程序间进行通信,server端是c++(qt)写的程序,client是c#写的程序。之前使用QProcess通信已经测试通过了,不过是server和client都是用qt做的模拟,实际在c#中没办法接收到消息,现在重新用管道通信来实现。server:#include "mainwindow.h"#include "ui_mainwindow.h"HANDLE MainW...原创 2018-06-12 17:34:15 · 3236 阅读 · 0 评论 -
Qt学习:内存管理(指针管理)
内存管理的主旨就是不需要的对象要及时销毁删除掉,释放掉内存占用,否则造成内存泄漏。内存泄漏指的是一个对象,已经没用了,在软件中被删除了,但是他还在内存当中存在着。但是当软件整个被关掉的时候,这些内存都会被释放掉。当前计算机配置水平,轻微的内存泄漏不会有很大的问题;如果是7*24小时运行的软件,比较需要慎重对待内存泄漏的问题,否则只要大方面没问题,小泄漏也是无伤大雅的。其他语言的自动内存管理(垃圾回...原创 2018-03-14 09:35:27 · 1269 阅读 · 0 评论 -
Qt学习:无边框界面的实现总结
无边框界面是每个桌面应用必备的功能。手机无边框就很好解决了,直接无边框就好了,默认是全屏的。但是桌面无边框会有很多问题,首先是不能拖动。之前看过别人的无边框实现,大部分是做成整个界面按住哪里都能拖动,感觉这样不好。另外看到大部分的代码都只实现了拖动,却没有实现标题栏。还是自己做比较好。1、无边框的实现代码 // 无边框 setWindowFlags(Qt::FramelessWind...原创 2018-03-06 15:59:59 · 5901 阅读 · 1 评论 -
Qt之:QProcess使用总结
1、主程序:初始化及设定信号槽 process = new QProcess(); connect(process,SIGNAL(started()),SLOT(started())); connect(process,SIGNAL(finished(int,QProcess::ExitStatus)),SLOT(finished())); connect...原创 2018-02-25 10:47:00 · 64889 阅读 · 6 评论 -
OpenCV3+Qt5安装及配置
Qt5的安装这里就不说了,只说opencv3的编译、配置到Qt5及如何使用。说明:本文参考了大神的文章:http://blog.youkuaiyun.com/sinat_36264666/article/details/73200739,在此表示感谢。本文只为记录自己的学习历程以及心得归纳总结,如果能帮到其他人也甚感欣慰。在按照本文进行配置之前,有下载opencv3.3.1安装,之后一直测试失败,寻找各种解决...原创 2018-02-27 16:19:23 · 12131 阅读 · 7 评论 -
Qt学习:多页面切换
用QStackedLayout可以把多个页面放在一起,叠加起来,他会显示第一个添加进去的页面(index0)。然后通过在页面里面发送信号,QStackedLayout::setCurrentIndex可以改变当前要显示的页面的index。根据此文参数写了一个切换的例子:http://blog.youkuaiyun.com/tj807126663/article/details/33738563,在此致谢!首先...原创 2018-03-07 09:13:49 · 2268 阅读 · 0 评论 -
Qt:串口通信总结
1、创建桌面程序2、在.pro添加串口支持:#增加串口支持QT += serialport3、在头文件添加串口类// 提供访问串口的功能#include <QSerialPort>// 提供系统中存在的串口信息#include <QSerialPortInfo>4、设置界面5、头文件#ifndef MAINWINDOW_H#define MAINWI...原创 2018-02-26 17:20:31 · 6408 阅读 · 3 评论 -
Qt学习笔记(总)
1、添加git版本控制版本控制忽略清单:.DS_Store*-Debug*.userdebug文件夹全部不要,可以运行时生成;.user文件包含用户配置,里面看了下还有绝对路径,这个还是不要把,在另一个地方首次打开只要配置下即可。即可生成.user文件2、创建桌面窗口应用的基类选择基类有3个,那么都有什么区别?(1)QMainWindow:提...原创 2018-02-01 12:00:49 · 1801 阅读 · 0 评论 -
Qt学习:将ui界面中的默认控件提升为自定义类
自定义控件在动态添加到界面时很容易,只要new就可以了。当然在MainWindow的界面中要动态添加控件还是有问题的,跟普通的窗口不一样。1、怎样在MainWindow动态插入控件普通窗口只需要new一个layout,然后将在这个layout里添加控件即可,如下: QHBoxLayout * layout = new QHBoxLayout; this->set...原创 2019-07-16 10:09:28 · 10129 阅读 · 5 评论