- 博客(28)
- 资源 (9)
- 收藏
- 关注
原创 qt重载信号槽连接方式总结
一、qt4方式:QObject::connect(信号发出者地址, SIGNAL(信号发出者函数名称(信号发出者函数参数...)),信号接收者地址, SLOT(信号接收者槽函数名称(信号接收者槽函数参数...)));注意:若在QObject子类内部定义信号槽,可直接调用connect函数。二、qt5方式:1、普通信号QObject::connect(信号发出者地址,信号发出者函数名称(信号发出者函数参数...),信号接收者地址,信号接收者槽函数名称(信号接收者槽函数参数...));注意:若在..
2020-12-14 10:23:40 1203 1
原创 QTcpServer官方帮助文档-详细介绍部分(个人翻译)
QTcpServer用于接收到来的TCP连接。端口号即可指定,也可由QTcpServer自动选取一个。既可在设备上指定的IP地址上监听,也可在设备上所有IP地址上监听。调用Listen()让服务端监听到来的连接。当一个客户端连接到服务端时,一个newConnection()信号随后发出。调用nextPendingConnection()去接收等待的QTcpSocket连接。函数返回一个QAbstractSocket::ConnectedState状态的QTcpSocket对象指针,用于与客户端通信
2020-10-19 08:41:56 551
原创 win10 Qt5.14.2 VS2017 mysql-8.0.21 编译 Qt mysql数据库驱动
win10 Qt5.14.2 VS2017 mysql-8.0.21 编译 Qt mysql数据库驱动一、准备%MYSQL%为代表当前mysql安装目录%QTDIR%代表当前Qt安装目录1、备份原始文件并创建需要文件进入%QTDIR%\Qt5.14.2\5.14.2\Src\qtbase\src\plugins\sqldrivers备份mysql目录复制configure.pri文件并命名为qtsqldrivers-config.pri2、编辑mysql.pro进入mysql数据库.
2020-09-21 16:20:26 769 1
原创 QWaitCondition官方帮助文档-详细介绍部分(个人翻译)
QWaitCondition让某个线程可以向其他线程通知,某种条件已经满足。单个或多个线程能阻塞等待QWaitCondition通过wakeOne()或wakeAll()设定条件。用wakeOne()唤醒某个随机选中的线程,用wakeAll()唤醒全部线程。例如:假设当用户按下一个键时,有三个任务需要执行。每个任务都可分离到单独的线程中执行,那么线程run()主体结构大体是这样: forever { mutex.lock(); keyPressed.wait(&m...
2020-07-07 14:56:58 268
原创 QMutex官方帮助文档-详细介绍部分(个人翻译)
类似java的synchronized(同步)关键字,QMutex的目的是保护一个对象、数据结构体或者一部分代码。一次只允许一个线程访问被保护对象。QMutexLocker总能帮助通常使用去控制一个mutex。因为它总能确保锁定和解锁很好地被执行。例如,下面是一条用两行的代码向用户打印出一个消息的函数:int number = 6; void method1() { number *= 5; number /= 4; } void method2()...
2020-07-07 14:55:23 241
原创 QMutexLocker官方帮助文档-详细介绍部分(个人翻译)
详细介绍:在复杂函数和声明中,在异常处理中,锁定和解锁一个QMutext对象不但很容易犯错,还很难调试。下面的QMutexLocker使用场景,会告诉你如何恰当地定义mutex。函数中,哪里需要被锁定,就在哪里创建QMutexLocker。一旦QMutexLocker对象被创建,互斥体就被锁定了。unlock()和relock()可用来解锁互斥体。即使互斥体已被锁定,当QMutexLocker对象被析构摧毁后,互斥体会自动解锁。例子:在函数开始处,锁定互斥体对象,在每个函数出口处解锁互斥体。..
2020-07-06 17:00:19 313
原创 QList官方帮助文档-详细介绍部分(个人翻译)
Qt通用容器类QList<T>,使用列表存储条目,支持基于索引的快速访问、插入及删除。QList<T>、QLinkedList<T>和QVector<T>三者的APIs和功能几乎一样。经常相互替换,但性能侧重点有区别。以下是使用概述。默认第一选择QVector,通常QVector<T>性能优于QList<T>。这是由于QVector<T>是在内存中按顺序地存储条目,而QList<T>是在堆上为他的条目分配内存
2020-07-03 16:00:53 1487
原创 win10下用Qt5.13.2与mysql-connector-c++-8.0.20编译mysql动态链接库j解决QMYSQL driver not loaded
64bit win10下Qt5.13.2用MingGW7.3.0 64-bit与mysql-connector-c++-8.0.20-winx64编译mysql动态链接库qsqlmysql.dll、qsqlmysqld.dll、libqsqlmysql.a、libqsqlmysqld.a1、安装Qt5.13.2,下载地址http://download.qt.io/archive/qt/版本可自选,管理员权限运行安装包建议:夜里安装,直接全选,早上醒来,一切都安装好了路径一定要注意,不要安装Pro.
2020-06-27 20:33:57 1204
原创 编译mysql动态链接库解决QMYSQL driver not loaded问题
qt初次开发mysql时,常会碰到QSqlDatabase: QMYSQL driver not loaded问题原因是qt缺失qsqlmysql.dll 与qsqlmysqld.dll,解决方案是通过源码编译出qsqlmysql.dll 与qsqlmysqld.dll以下为64win7下用64位qt编译64位mysql动态链接库一、安装mysqlmysql源码位于你的qt安装目录\你的qt版本号\Src\qtbase\src\plugins\sqldrivers\mysql一、安装mys
2020-06-05 10:19:16 531
原创 CentOS7部署samba文件共享服务与win7访问映射samb共享文件
切换至root权限1、安装Samba#安装samba服务器端yum -y install samba#安装samba客户端yum -y install samb-client2、创建共享目录并修改访问权限mkdir /var/sharedirchmod 777 /var/sharedir3、将共享目录添加至Samba配置文件Samba的默认共享目录是自己的家目录用户需要将自己需要共享的文件夹添加到Samba配置文件中配文件路径:/etc/samba/smb.conf
2020-06-03 10:46:00 530
原创 centOS7部署mysql数据库
root权限1、下载解压安装包centOS7下载redhat的rpm版本dtar解压2、添加用户groupadd mysqluseradd -r -s /sbin/nologin -g mysql mysql3、安装解压后所有文件rpm -ivh mysql-community-common-8.0.19-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-compat-8.0.19-1.el7.x86_64.rpm --nodeps --
2020-06-02 15:34:32 257
原创 centOS7下部署搭建svn服务器与win7下TortoiseSVN登录
svn服务器端:CentOS7安装svn客户端:win7 TortoriseSVN客户端通过svn+ssh访问服务端一、服务器端CentOS7下安装1、安装subversionyum -y install subversion2、创建 你的 版本库svn(可以随意命名)mkdir creat /var/svnsvnadmin create /var/svn3、导入项目svn import 项目所在文件夹 file::///var/svn -m "Initial Data"4.
2020-05-30 16:04:29 223
原创 CentOS7下部署vnc-server与win7安装vnc-viewer
1、下载https://www.realvnc.com/en/connect/下点击 Downlaod菜单 选择VNC Server 之后选择linux 选择RPMx64(32位的选RPMx86)下点击 Downlaod菜单 选择VNC viewer 之后选择windows 选择EXE x86x642、centOS7下安装VNC-Server#取得root权限su root#找到防止VNC-Server安装包的位置cd VNC-Server-xxx.RPM#rpm安装[roo
2020-05-30 11:12:15 1047
原创 正则表达式简易总结
一、基本正则表达式c---匹配字符c.----匹配任意单个字母*----匹配前表达式(字符)出现0或多次.*----匹配任意多个任意字符[]----匹配集合内任意单个字符,括号是一个字符集合[x-y]----匹配连续字符串中的人一个字符,集合为x-y所有字符,包含x和y^----匹配字符串首部$----匹配字符串尾部[^]----匹配否定(取反),匹配除了括号内字符的其他字符集合\---匹配转义字符\{n,m\}----匹配前表达式(字符)重复出现n到m次\{
2020-05-14 15:40:16 190
原创 Vim(vi)使用整理,对比式记忆
Vim是一款强大的编辑器,但记命令挺麻烦,自行学习整理了下。比对着记忆起来更方便。当然常用才是王道!3种工作模式:普通模式、插入模式、命令模式普通模式->插入模式:输入a(光标后)、A(段尾)、i(光标前)、I(段首)、o(下新行)、O(上新行)插入模式->普通模式:按ESC普通模式->命令模式:输入“:” w(保存)、wq(保存退出)、wq!(强制保存退出)一、Vim默认进入普通模式,通过a、A、i、I、o、O进入插入模式a(append追加) 、i(insert.
2020-05-12 14:45:12 352
原创 QThread官方帮助文档-详细介绍部分(个人翻译)
程序中,一个QThread对象能管理控制一个线程。线程启动于run()。默认下,调用exec()后,run()才在线程中开启一个Qt事件循环。用QObject::moveToThread()将工作对象移动到指定线程。 class Worker : public QObject { Q_OBJECT public slots: void doWork(con...
2020-04-23 18:52:28 394
原创 QDir官方帮助文档-详细介绍部分(个人翻译)
QDir类用于访问目录及其内容。QDir用于处理路径名,获取路径及文件的相关信息,以及操作底层文件系统。他也可用于访问Qt资源系统。类似URLs,Qt将'/'作通用目录分隔符。Qt会将以'/'作为目录分隔符的路径翻译给底层文件系统。QDir用相对路径或绝对路径表示文件位置。绝对路径以'/'开始(windows下,路径前是否加驱动器可选)。相对路径以目录名或文件名开始,是一个相对于当前目录的路径...
2020-04-21 19:38:45 1723
原创 QFile官方帮助文档-详细介绍部分(个人翻译)
QFile是用于读写文本、二进制文件和资源的I/O设备。QFile可以自己单独用,和QTextStream或QDataStream一起用,更方便。文件名通常通过构造函数传入,可用setFileName()随时候重新设置。无论什么操作系统,QFile要求文件分隔符是'/',不支持其他分隔符(例:'\')。用open()打开文件,用close()关闭文件,用flush()清空缓存数据至I/O。通...
2020-04-20 10:08:16 793
原创 QByteArray官方帮助文档-详细介绍部分(个人翻译)
QByteArray可用来存储原始字节(包含'\0')和传统的以'\0'结尾的8位字符串。使用QByteArray比使用const char*方便得多。后台工作中,他能确保数据之后总是跟随着'\0'终止符,并用隐式共享(copy-on-write)去减少内存使用和避免不必要的数据拷贝。另外,QByteArray还可供QString存储字符串数据。大多数情况下,QString才是你想用的类...
2020-04-16 20:28:48 1906
原创 各字符集精简总结(ASCII、ISO8859-1(Latin1)、GB2312、GBK、UNICIDE、UTF8)及乱码处理
从左向右,字符集,更新,可表示的字符更多,通用性更高,一个字符所占字节数更多(大体如此)ASCII<ISO8859-1(Latin1)<GB2312<GBK<UNICIDE<UTF8ASCII:单字节,最高位(第8位)为0,不参与表示,后7位表示128个字符。内定义半角标点符号。仅够英美用ISO8859-1(Latin1):单字节,8位都参与表示字符,256个...
2020-04-14 19:30:21 1167
原创 堆上数组内存管理心得(new char[n]、delete、delete[]、指针、类对象数组)
char *pCh=new char[256]; qDebug()<<"内容:"<<pCh<<endl;//输出T 内存没有清空,内容不可预测 qDebug()<<"sizeof:"<<sizeof (pCh)<<endl;//输出4,不是数组长度256。因为指针变量只占用4个字节, qD...
2020-04-14 12:11:37 699
原创 用源码将QXlsx直接集成到自己应用中
1、安装系统对应环境perl2、解压QtXlsxWriter-master.zip,将src下xlxs文件夹直接复制到当前目录下3、在项目.pro文件最后一行中添加include(xlsx/qtxlsx.pri)4、项目-》重新构建5、打开xlsxzipreader.cpp(1)在文件顶部添加#include<QVector>(2)在init方法中,将QList&...
2020-01-10 19:08:24 481 1
原创 QXlsx使用经验
QXlsx有两种使用方式(1)生成动态链接库,将动态库放到Qt下,调库使用(2)添加源码至项目中,将QXlsx集成在应用上本文使用第二种方式步骤一:下载QXlsx(http://qtxlsx.debao.me)和Perl(https://www.activestate.com/products/perl/downloads/)QXlsx下载好后,会有修改QList为QVecto...
2020-01-09 10:30:39 2797
原创 Qt Creator使用libpng、zlib、qrencode遇到的一些问题
使用第三方库的一种方法是载入源代码文件,直接编译。该过程遇到一些问题。(1)将libpng和qrencode以及zlib解压后的所有.c和.h文件复制到自己工程目录并载入(2)将qrencode-XXX中的config.h.in也复制到工程目录下,修改为config.h,在底部添加#define MAJOR_VERSION 1#define MICRO_VERSION 1#defi...
2019-11-29 14:54:17 658
原创 彻底关闭Win10的Defender和自动更新
Win10的自动更新和defender实在讨厌,关掉。(1)关闭defenderWin+R-》regedit\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SecurityHealthService 将Start值修改为3(2)关闭自动更新计算机-》右键-》管理-》服务和应用程序-》Window update...
2019-11-28 14:15:44 1097
原创 C++单例模式singlton中唯一实例instance创建的两种方式区别
面向对象编程设计中,常用到单例模式,以实现全局唯一对象。单例模式示意如下:class Singleton{public: static Singleton* getInstance(); static void release() //或destroy { delete _instance; _instance=NULL;...
2019-11-28 10:46:05 1245
原创 使用CSocket、CSocketFile及CArchive组合接收不到数据的一种原因
这几天在做网络编程,发现一个问题客户端使用CSocket、CSocketFile及CArchive组合,关键代码如下:void CClientSock::init(CClientDlg* pdlgClient){m_pdlgClient=pdlgClient;m_psockFile=new CSocketFile(this,TRUE);m_parInput=new CA
2016-12-07 10:48:05 1377 1
原创 CIPAddressCtrl::GetAddress使用心得
CIPAddressCtrl::GetAddressint GetAddress(BYTE& nField0,BYTE& Field1,BYTE& Field2,BYTE& Field3)int GetAddress(DWORD& dwAddress);用第一条函数获取为主机字节顺序IP字符串,可使用如下代码。CString* GetIPAdds(CIPAddressCtrl*
2016-11-24 16:00:00 3928 1
win10下Qt5.14.2 VS2017 mysql-8.0.21 编译Qt mysql驱动
2020-09-21
C C++ VC++ MFC JAVA JDK Qt window API中文帮助文档.rar
2020-07-10
win10 64-bit Qt5.13.2 MinGW7.3.0 64-bit mysql8.0.20 64-bit驱动qsqlmysql
2020-06-27
C++/C开发二维码需要的库qrencode、libpng和zlib.rar
2019-11-29
类似VC6.0界面的代码例子(两种种方式)
2013-05-10
WAVECOM GPRS模块的at指令
2013-01-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人