- 博客(15)
- 收藏
- 关注
原创 Qt 在菜单栏加入 CheckBox
菜单栏加 CheckBox方法一:设置action的checkable为true,触发toggled槽函数代码效果方法二:使用QWidgetAction代码效果方法一:设置action的checkable为true,触发toggled槽函数代码// .cpp#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent),
2021-08-14 17:11:52
4743
2
原创 Qt 获取所有子控件并删除
Qt 获取所有子控件并删除获取所有子控件并删除获取所有子控件并删除void Widget::on_pushButton_add_clicked(){ QWidget *w = ui->widget_temp; QLayout *oldLayout = w->layout(); if (oldLayout) { delete oldLayout; } QGridLayout *grid = new QGridLayout(w);
2021-03-17 21:16:36
4196
原创 Qt遍历文件夹及子文件夹
遍历给定文件夹下所有子目录void getAllFolds(const QString& foldPath,QStringList &folds){ QDirIterator it(foldPath,QDir::Dirs | QDir::NoDotAndDotDot ,QDirIterator::Subdirectories); while (it.hasNext()) { it.next(); QFileInfo fileInfo = it.fileInfo(); fol
2021-01-24 11:27:43
3756
原创 C++ 随机数
随机数随机数随机数库随机数库的使用其他分布类型正态分布伯努利分布参考资料随机数程序同常需要一个随机数源。在新标准出现以前,C和C++都依赖rand函数胡来生成随机数。此函数生成均匀分布的伪随机数,范围在0到一个系统相关的最大值(至少为32767)之间。rand函数存在一些问题,比如不同范围的随机数、随机浮点数、非均匀分布的数等。随机数库定义在头文件<random>中的随机数库通过随机数引擎类(random-number engines) 和 随机数分布类(random-number
2021-01-17 17:51:32
537
原创 C++ 使用正则表达式
正则表达式正则表达式RE库组件正则表达式的使用参考资料正则表达式正则表达式(regular expression)是一种描述字符序列的方法,是一种极其强大的计算工具。C++正则表达式库(RE库)定义在<regex>中,它包含多个组件。RE库组件解释regex表示有一个正则表达式的类regex_match将一个字符序列与一个正则表达式匹配regex_search寻找第一个与正则表达式匹配的子序列regex_replace使用给定格式替换一个正
2021-01-11 22:07:33
11626
原创 C++ bitset
bitsetbitset 类型bitset的使用参考资料bitset 类型将整型运算对象或string对象当做二进制位集合处理。bitset的使用#include <bitset>void test06(){ bitset<8> b1(255); cout << b1 << endl; //11111111 bitset<8> b2("1100"); cout << b2 << endl; //0000
2021-01-10 15:22:24
160
原创 C++ tuple
tupletuple 类型tuple 支持的操作tuple的使用定义和初始化访问成员使用辅助类模板获取tuple的信息关系和相等运算符参考资料tuple 类型tuple是类似于pair的模板。但是其可以有任意数量的成员。当我们希望将一些数据组合成单一对象,但又不想定义一个新的数据结构时,可以使用tuple。我们可以将tuple看作是一个“快速而随意”的数据结构。tuple 支持的操作操作解释tuple<T1,T2,…,Tn> t;t 是一个tuple,有n个
2021-01-10 14:18:40
454
原创 C++ 可变参数模板
可变参数模板可变参数模板参数包示例1示例2参考资料可变参数模板一个可变参数模板(variadic template)就是一个接受可变数目参数的函数模板或类模板。参数包可变数目的参数被称为参数包(parameter packet)。存在两种参数包:模板参数包(template parameter packet),表示0个或多个模板参数;函数参数包(function parameter packet),表示0个或多个函数参数。采用省略号(…)的形式来指出这是一个参数包。在模板参数列表中,class
2021-01-07 21:31:40
1529
原创 C++ STL容器(1) : vector
std::vector 单端动态数组头文件 : #include < vector >迭代器类型:随机访问迭代器总结1.构造函数 //构造函数 vector<T> v1();//空构造 vector<int> v2(10,7);//n个元素构造,10个7 vector<int> v3(v2.begin(),v2.begin()+5);//区间构造 vector<int> v4(v3);//拷贝构造2.成员函数 (1)//o
2020-09-29 22:53:31
340
原创 QtTreePropertyBrowser:制作属性表
QtTreePropertyBrowser的部署在Qt中已经有这个控件相关的文件了,只要在.pro 中导入就可以了具体步骤:1.创建新工程propertyBrowser2.在Qt的安装目录中搜索qttreepropertybrowser,找到qttreepropertybrowser.pri所在的路径,使用以下命令// propertyBrowser.proinclude (D:/Qt/Qt_Creator_5.9.2/5.9.2/Src/qttools/src/shared/qtpropert
2020-08-22 12:04:30
2873
7
原创 QPrinter:图片转PDF
使用QPrinter将一般图片转PDF步骤1.创建新项目pdf2.添加代码直接在构造函数之中添加即可 QString imgPath("C:/Users/Administrator/Desktop/p8.jpg");//原始图片路径 QString savePath("C:/Users/Administrator/Desktop/test.pdf");//转好之后保存的路径 QPixmap pix(imgPath);//用QPixmap读入图片 QPrinter pri
2020-07-23 21:06:21
664
原创 QThread:moveToThread()实现多线程
Qt实现多线程Qt实现多线程有两种方式:(1)继承QThread,重写run()方法(2)使用moveToThread()本文仅用第二种方法来实现多线程创建步骤1.新建thread项目2.添加新类MyWork右键项目->添加新文件->C++ Class ->输入类名MyWork,继承自QObject->确定。我们所需要实现的功能(函数)都可以放到这个MyWork类3.为MyWork添加槽函数在mywork.h中声明两个槽函数private slots:
2020-07-15 21:25:26
1005
原创 QPainter:绘制时钟
Qt时钟学习QPainter的使用主要代码运行结果学习QPainter的使用最近在学习Qt,利用QPaint画一个时钟。主要代码在widget.h中声明绘图事件 void paintEvent(QPaintEvent *);在widget.cpp中实现绘图事件void Widget::paintEvent(QPaintEvent *){ QPainter p(this); //抗锯齿 p.setRenderHint(QPainter::Antialias
2020-07-05 23:51:09
664
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人