QT
dearbub
进步源于分享,成长始于学习。
展开
-
QT4.7自定义标题栏简单实现
QT4.7自定标题栏简单实现:功能尚未完成,但提供了编写模版。1、定义#ifndef QTITLEBAR_H#define QTITLEBAR_H#include class QHBoxLayout;class QLabel;class QPalette;class QPixmap;class QBrush;class QPoiint;class QIcon;原创 2017-02-17 09:19:18 · 696 阅读 · 0 评论 -
Qt中线程的推荐用法
在Qt项目中,不可避免的会使用到线程,而在Qt的官方文档中,只有继承QThread重写run函数的用法。在实际应用中,发现该用法不够灵活,虽然使用run也能实现项目要求,但代码量却要多很多,而且不可避免的会破坏类的封装性,因为一个thread只能做一件事情。并且,对于继承自QThread类的用法,thread(此时函数工作在线程对象中)对象依旧会有调用线程创建(通常都是主线程),而只有ru原创 2017-02-23 09:06:55 · 6107 阅读 · 0 评论 -
使用.pro自己控制编译
使用Qt4.7编写跨平台的应用的时候,Qt默认采用的影子构建,但该影子构建还没有Qt5那么完善,比较死板,有些东西还不能支持。为了能够自己控制想要的编译结果,如生成指定的文件夹、文件路径等等,使用.pro进行控制,尤其是相对路径的使用等。将这个.pro文件赋值三份,分别为project_l.pro(linux)、project_a.pro(arm)、project_w.pro(window原创 2017-02-28 11:39:29 · 1165 阅读 · 0 评论 -
QFile和QDir使用以及自动文件创建
当使用QFile打开指定文件的时候:1、文件名中不包含路径("test.txt"),若文件存在则打开成功,若文件不存在则创建该文件,open返回值均为true。2、文件命中包含路径: a、若该路径已经存在,则open函数打开或创建指定文件。 b、若路径不存在,则open函数打开失败,且不再创建该文件。在打开文件前,可以使用QFile::exists检查文件是否存在。原创 2017-02-22 10:54:34 · 15894 阅读 · 0 评论 -
QT中使用以管理员权限启动一个进程
在windows中,启动一个进程可以使用API ShellExecute来实现,详细参数可参考MSDN获悉。#ifdef Q_OS_WIN#include #endif具体实现可参考:#ifdef Q_OS_WIN/** 以下代码为宽字符,若改变字符集会导致编译不过,需将wstring换为string */ std::wstring operate = QString("r原创 2018-02-02 11:09:23 · 6988 阅读 · 1 评论 -
QT简单调试日志输出
使用QFile、QDir自动创建日志文件,以进程文件名+日期进行标识,实现日志的输出调试:#include #include #include void QHelper::setLog(const QString &text,const QString &log){ QString sLogPath = QCoreApplication::applicationDirPath原创 2018-02-02 11:13:42 · 517 阅读 · 0 评论 -
按位读写16位数据
将数据按内存读写,不关心存储的值在10进制中表现为什么,仅关心其在内存中的表现,直接使用位操作符,实现数据的按位读写。读取给定数据value中,自起始位begin开始的count个位,返回读取到的数据:unsigned short readBit(unsigned short value, int begin, int count){ if(begin+count-1 > 1原创 2018-02-02 11:31:43 · 4080 阅读 · 0 评论 -
QTableView实现选中行上下移动操作
主要通过QStandardItemModel的两个函数takeRow和insertRow来进行操作,另外垂直表头右击菜单的自定义实现也许了解。函数文档说明如下:实现思路就是将指定行与它的上、下行进行内容交换,将指定的行插入到指定位置,从而实现。为了不改变既有的代码,将实现进行封装,只需创建一个对应的对象即可,无需进行其它的任何操作。头文件:#ifndef QSW原创 2018-02-07 11:08:28 · 6465 阅读 · 3 评论 -
QNetworkAccessManager/QNetworkRequest/QNetworkReply使用记录
原本在Qt4版本中存在几个和Http直接相关的类,可以进行简单的使用,但在Qt5版本后,这几个类被取消,现在采用QNetworkAccessManager/QNetworkRequest/QNetworkReply来实现数据的请求。参照说明文档,按部就班编写代码后,发现在请求发送成功后,但在接收时总会产生SslHandshakeFailedError错误,遂修改代码增加QSslConf...原创 2019-03-05 13:57:58 · 1416 阅读 · 0 评论