- 博客(18)
- 资源 (16)
- 问答 (1)
- 收藏
- 关注
原创 C++重载运算符基本用法(operator+,operator*)
本文主要总结C++中类的重载运算符用法。类的重载运算符可以用于两个类相加或减之类,也就是算术运算符(+,-,*,/,%,>,<,=,!=)和其它一些已存在的运算符重载(new,[])等都可以通过重载运算符函数operatorOP()进行重载。其中OP为重载运算符(比如运算符加法+),可以在重载函数operatorOP(){}中定义要实现的方法,下面将展示加法+和乘法的运算符实例。注...
2019-06-24 23:07:18 22362
原创 调用宏DEFINE_GUID()需要头文件Initguid.h
无论是在vs IDE还是qt IDE调用宏DEFINE_GUID()都需要头文件Initguid.h,如下所示#include <Initguid.h>DEFINE_GUID(GUID_DEVINTERFACE_DISK, 0x53f56307L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x...
2019-06-24 16:45:37 2989
原创 Qt调用头文件setupapi.h的函数SetupDiGetClassDevs()编译出错
博主用QtCreator集成开发环境和MinGW32编译器编译Windows下的API函数,即头文件setupapi.h中的函数SetupDiGetClassDevs()时,编译出错。1.1问题错误如下:D:\QtProject\test1\exam1\widget.cpp:20: error: undefined reference to `_imp__SetupDiGetClass...
2019-06-24 16:21:22 4738 2
原创 C++枚举类型用法总结(enum)(可以用枚举字符常量代替常量)
C++枚举类型enum表示枚举,通常用于定义个新类型的字符常量,比如enum {January,February,March}。枚举类型的作用域一般是整个文件或者类内。当枚举类型定义在文件开头时,则作用域是从定义位置开始往后(不包括函数内定义);当枚举类型在类内定义时,则作用域为整个类内。在类内的头文件定义和初始化枚举类型,当实例这个类的对象时,枚举类型不会占用空间,只是包含一个字符常量而已。...
2019-06-21 22:24:01 29996 2
原创 QtCreator中用C++的命名空间namespace替换全局变量用法(结构体内嵌套结构体、static、extern “C”)
本文主要总结在QtCreator中,用C++的命名空间namespace替换全局变量的用法,其中命名空间是标准C++特有的。命名空间的声明和定义跟类基本一样,如下所示。其中命名空间相当于一个容器,里面可以包含类,基本变量,函数,结构体,共同体,枚举类型等。命名空间可以替换全局函数和全局变量。当替换全局函数时,跟普通的函数一样定义就行。当替换全局变量时,一定要将全局变量设置为static...
2019-06-21 14:56:47 2743
原创 Qt发布程序(Windows平台 IDE为QtCreator)(打包)
Qt生成release后的可执行程序*.exe要发布在其它平台,需要用到Qt自带的一个工具windeployqt.exe。只需要简单的两步就可以完成。a1 把可执行程序放到单独文件a2 在qt自带ming32编译器执行命令windeployqt *.exe就可以自动添加相应库和文件具体步骤如下:1.1首先把可执行程序*.exe放到一个单独文件夹下比如博主放在目录E:test下。...
2019-06-20 14:03:14 2985
原创 C++中static用法之一(只在程序启动的时候初始化一次,后续不在初始化)(函数内调用同名外部变量用作用域解析运算符::)
C++中static定义静态变量时,只在程序启动的时候初始化一次,后续不在初始化,且定义的该变量只能在该文件中使用,而不能夸文件使用。要想在其它文件中使用全局变量,则需要在定义的文件中使用extern关键字进行定义,并且在使用的其它文件中,同样用extern关键字进行申明,然后才可以使用。当然,如果在同一个文件中,同名的局部变量和全局变量共存,则该函数内自动使用局部变量,想要使用全局变量,则要作用...
2019-06-19 20:21:21 3547
原创 Qt编译一大堆错误提示(error: cannot define member function 'QImageWidget::QSet<T>::reserve' within 'QImageWid)
QtCreator集成开发环境出现一个bug,当定义一个类时,误删除了括号"};",就会提示一大堆错误,但是编译时就是不提示那里少了一个符号"};"错误。D:\Qt\Qt5.9.4\5.9.4\mingw53_32\include\QtCore\qset.h:276: error: cannot define member function 'QWidget::QSet<T>::...
2019-06-19 11:00:51 2250
原创 C++函数模板原理和用法总结(template auto decltype())
函数模板是C++一个重要特性,主要用在同一种相同或者相似结构中,但是函数的参数不同,下面是函数模板原理和用法总结。一、函数模板简单用法1.1简单模板函数定义template<typename T>void Swap(T &a, T &b){ T temp; temp=a; a=b; b=temp;}第一行支出要建立...
2019-06-18 21:48:20 1692
原创 Qt继承QWidget或者QWidget直接弹出窗口(非模态对话框)(对话框)
QWidget是Qt中主流的窗口类,实现QWidget窗口弹出主要有三个步骤。1.1实例一个窗口类对象QWidget *widget = new QWidget(NULL);1.2调用函数函数QWidget::setWindowsModality(Qt::WindowModality windowModality)设置显示窗口类型,其中Qt::WindowModality windowMo...
2019-06-18 10:47:32 9109 3
原创 Qt中获取树形控件QTreeView选中行内容(QTreeView::model->itemData())
本文主要总结获取Qt中获取树形控件QTreeView选中行内容,具体如下所述。1.1核心函数要获取QTreeView选中行内容,只需要两行代码搞定,一个是绑定点击选中行信号和槽函数connect(...),另一个是在槽函数中添加函数QTreeView::model->itemData().values(QModelIndex)[0].toString,如下所示:treeView...
2019-06-17 10:29:24 15275
原创 QTreeView树形控件自动显示水平滚动条(resizeColumnToContents())
本文主要总结Qt中QTreeView树形控件自动显示水平滚动条内容。在Qt中,是默认根据需要显示水平和垂直滚动条的。但是我们发现实践中只能自动显示垂直滚动条,而水平滚条无法自动显示,在显示窗口中多余的内容用省略号“...”代替。进过查找资料,博主发现,之所以无法自动显示垂直滚动条,是因为树形控件的列宽度比跟显示的内容要宽,而自动显示水平滚动条是内容超出列宽度才会出现。1.1核心函数讲解...
2019-06-14 16:17:44 5589 1
原创 Qt中void QTreeView::expand(const QModelIndex &index)基本用法总结(展开二级节点)(expandAll展开所有节点)
本文主要总结Qt中函数void QTreeView::expand(const QModelIndex &index)基本用法,用该函数可以展开指定树形节点。如果要展开所有节点,可以用void QTreeView::expandAll()函数。1.1关键函数讲解QModelIndex index(int row, int column, const QModelIndex &am...
2019-06-14 10:28:08 8130 2
原创 C风格遍历一串字符串的简单用法(基于指针的方法)
本文主要总结一个C风格用指针方式遍历一组字符串的方法。该函数功能是遍历一组字符串,并且计算该字符串包含指定字符的个数,并且返回这个计算结果。具体代码如下所示:1.1函数定义如下/*定义*/unsigned int Widget::traverseString(const char *str, char ch){ /*遍历字符串str每一个成员,计算包含字符ch的个数*/ ...
2019-06-13 21:09:46 6907
原创 Qt中正则表达式基本用法1(QRegularExpression和QRegularExpressionMatch用法)
本文主要总结Qt中正则表达式的简单用法,其中Qt中正则表达式有两个常用类QRegularExpression和QRegularExpressionMatch。其中类QRegularExpression的对象re可以表示正则表达式规则,正则表达式的规则和语法介绍可以参考这篇博客:https://blog.csdn.net/scgaliguodong123_/article/details/453...
2019-06-13 11:52:21 13734
原创 C++11新特性嵌套QVector初始化(智能指针auto用法)
在Qt c++中,数组一般用类QVector和QList替代,比如QVector<QPushbutton *> listBtn;或者QList<QPushbutton *>listBtn;。在纯C++中还有一个数组array可以替代传统数组,由于qt没有进一步封装该类,所以不讨论。下面将用一个例子展示模板类QVector和智能指针auto用法,如下代码所示:#inc...
2019-06-12 16:42:25 4101 1
原创 QTableView、QTreeView、QListWIdget相同点和区别(异同)
一、QTableView、QTreeView异同都需要设置mode,即setMode(QStandItemMode*)来设置表格和树节点。其中QStandItemMode是标准项QStandItem的模型或者集合,通过不同函数添加进来。QTableView控件中,QStandItemMode通过函数QStandItemMode::setItem(0,1,standItem01)将标准项QS...
2019-06-05 10:37:38 3657
原创 Qt关闭调试后的页面摁键盘Esc关闭
Qt调试后,会在右下边嵌入一个调试后的工具栏,有时候感觉很烦,想关闭它,但是找了“控件——视图”下面所有选项都没有关闭这个嵌入的调试栏:。后面查找资料和询问,终于在一个qq的Qt群找到了方法。方法很简单,只需要摁键盘的Esc键就可以了。(多摁几次就可以关闭这个调试栏)...
2019-06-03 15:30:55 1778 7
自定义按钮,鼠标移入、移出、摁下,分别改变按钮图标样式原理和代码总结(上图标下文字、hover、QSS样式表、QPushbutton)1.zip
2019-10-22
Qt5自定义状态栏QStatusBar外观(背景)和状态栏基本用法(显示普通消息、临时消息、永久消息).zip
2019-10-19
Qt 2D绘图函数QPainter类基本用法(绘制图片、直线、填充颜色的矩形).zip
2019-10-19
Qt菜单QMenu和菜单栏QMenuBar基本用法和自定义菜单用法总结.zip
2019-10-17
用Qt实现QQ好友列表界面伸缩功能(完全一模一样)(伸展和收缩、抽屉效果、类似树形控件)(鼠标划过QSS效果).zip
2019-10-13
Qt自定义按钮,实现图片、文字内容位置任意布局(上图下文字、左图又文字),以及样式表设置(鼠标滑过、单击效果).zip
2019-10-13
Qt/C++抽象类和纯虚函数讲解示例源代码
2019-07-02
winhex1516(二进制文本查看工具)
2019-04-29
基于Qt的C++架构实例(模型MVC在C++后端管理系统应用)
2018-09-07
Qt5.9自定义标题栏源代码
2018-07-19
adb动态库资源
2018-03-23
Qt5.9Creator自定义信号实例(SignalTest)
2018-03-05
基于Qt5.9Creator的一个简单socket通信实例(C++语言,win7 64系统)
2018-01-29
登录界面代码(连接MySql数据库进行用户名和密码验证_Qt5.9Creator)
2018-01-03
libmysql_win32(32位libmysql.dll)
2018-01-02
基于MFC的串口COM扫描程序
2017-11-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人