![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
QT实战
lusirking
这个作者很懒,什么都没留下…
展开
-
根据SOCKET套接字获得此套接字绑定的端口号
//testSocket:已经绑定了端口的套接字,这里假设不知道其绑定了哪个端口,本函数是通过该套接字反推其绑定的端口//函数返回该套接字的端口号int getPort(SOCKET testSocket){sockaddr_in sockAddr;int nlen = (int)sizeof(sockAddr);getsockname(testSocket, (socka原创 2016-05-11 18:17:23 · 2700 阅读 · 0 评论 -
Qt阻塞延时与非阻塞延时(四种方法之个人笔记)
/****************************************************************************************** 功能描述: 毫秒级非阻塞延时函数* 参数: 延时毫秒数* 其他说明: 已试验,可用********************************************************原创 2016-06-21 16:29:25 · 19170 阅读 · 1 评论 -
Qt 清空文件夹,删除非空文件夹
/********************************************************************************说明:删除文件及文件夹涉及到的类包括QDir、QFile、QFileInfo、QFileInfoList, 清空文件夹的方法很多,此处仅给出我常用的两种方法 cpp源文件,下载地址http://downlo原创 2016-06-16 11:05:12 · 13083 阅读 · 1 评论 -
Qt 判断文件或文件夹是否存在及创建文件夹
1. 判断文件夹是不是存在参数说明:QString fullPath;//文件夹全路径/*方法1*/bool isDirExist(QString fullPath){ QDir dir(fullPath); if(dir.exists()) { return true; } return false;}/原创 2016-06-12 11:13:23 · 74004 阅读 · 5 评论 -
Qt 使用Windows API 函数精确控制循环执行的周期时间
有时我们的线程是一个while()或for()的死循环,如果希望每隔固定时间循环执行一次,即实现固定周期的循环执行,则需要以下代码#define CYCLE_PERIOD100 /*固定周期宏定义,单位为毫秒 */LARGE_INTEGER litmp; LONGLONG QStart,QEnd;double dfSecond, dfFreq, dfTim; int t原创 2016-05-20 14:11:22 · 1837 阅读 · 0 评论 -
Qt 获取当前时间
1、获取带日期的时间,使用QDateTime类QDateTime current_date_time =QDateTime::currentDateTime();QString current_date =current_date_time.toString("yyyy.MM.dd hh:mm:ss.zzz ddd");current_date字符串结果为"2016.05.20 12:原创 2016-05-20 12:14:59 · 119569 阅读 · 7 评论 -
QT ini配置文件的读写(使用QSettings类)
1、写ini配置文件QString m_sProjectPath = QCoreApplication::applicationDirPath();\\获取exe文件所在目录\\第二个参数表明是ini文件格式QSettings *configIni = new QSettings (tr("%1/test.ini").arg(m_sProjectPath),QSettings::Ini原创 2016-05-09 10:44:53 · 6955 阅读 · 0 评论 -
QT 文件夹操作(最精简的文件遍历操作)
QString m_sProjectPath = tr("C:\Users\administrator\Desktop");/*文件夹全路径名*/QDir dir(m_sProjectPath);dir.exists(); /*判断文件夹是否存在*/dir.setFilter(QDir::Files); /*设置dir的过滤模式,表示只遍历本文件夹内的文件*/QFileInfoLi原创 2016-05-17 16:10:11 · 8703 阅读 · 0 评论 -
Qt实现应用单实例运行(2)-使用自定义类
1、.h文件#ifndef SINGLEAPPLICATION_H#define SINGLEAPPLICATION_H#include #include #include #include class SingleApplication : public QApplication {Q_OBJECTpublic:SingleApplicat原创 2016-05-16 15:40:16 · 564 阅读 · 0 评论 -
Qt实现应用单实例运行(1)-使用共享内存
在工程的main函数中添加以下代码(在QApplicationapp(argc, argv);和创建主窗口语句之间添加即可):// 确保只运行一次QSystemSemaphore sema("JAMKey",1,QSystemSemaphore::Open);sema.acquire();// 在临界区操作共享内存 SharedMemoryQSharedMemory mem("S原创 2016-05-16 15:36:47 · 778 阅读 · 0 评论 -
Qt实现应用单实例运行(3)-使用QTSingleApplication
QTSingleApplication,是Qt官方提供的,用于实现只启动一个实例,并在启动时向另一个实例通信(依赖于QtNetwork模块) 默认情况下,收到消息后会自动激活自身窗口(一)简单使用:(1)将里面的qtsingleapplication目录拷贝到项目的源码目录中,(2)然后修改项目的.pro文件,加入下面两行代码(其中第二句是qtsingleapplication.p原创 2016-05-16 15:46:30 · 2958 阅读 · 2 评论 -
QTableView类中实时刷新和固定选中的矛盾(即刷新后不清除选中标记)的解决方法
在非MVC形式的编程中使用QTableView类,若需要QTableView显示的内容实时刷新(如固定周期刷新),往往会导致选中标记也会被清除掉(即刷新之前选中某块区域,刷新之后就取消了选中),如果希望在刷新过程中保留选中标记,可选用如下方法:(1) 刷新前保存当前选中的单元格QModelIndexListselected = tableView->selectionModel()原创 2016-05-28 14:01:39 · 5299 阅读 · 3 评论 -
QT ini配置文件的读写(使用QTextStream类)
1、写ini配置文件bool saveFile(const QString &fileFullName){if(fileFullName.isEmpty())return false;QFile fileOut;QTextStream outStream;fileOut.setFileName(fileFullName);if(!fileOut原创 2016-05-09 15:18:16 · 3439 阅读 · 0 评论