- 博客(11)
- 资源 (5)
- 收藏
- 关注
原创 记录:Qt5.12+VS2019编译32位MYSQL8.0驱动
第零步,说明从Qt5.12.4(待验证)版本开始Qt就没带MYSQL的驱动了,需要自己编译。我也是折腾了好久才成功了,特此记录。第一步,安装MYSQL8.0我是在官网下载的最新版本的*.msi安装程序,装完才发现数据库是64位,但是connector可以是32位的。此外,编译Qt MYSQL驱动需要C的connector而不是C++的。因为我Qt是32位,所以还需要装x86的C con...
2020-03-30 23:55:53 2200 1
原创 Qt中UI线程与子线程的交互
0.前言GUI框架一般只允许UI线程操作界面组件,Qt也是如此。但我们的应用程序一般是多线程的,势必就涉及到UI线程与子线程的交互。下面介绍常用的UI线程与子线程交互方式,并贴上完整Demo代码。1.Qt中几种常见的多线程交互的操作Qt中提供了一些线程安全的方法来让我们使用:A.使用信号槽Qt的信号槽是线程安全的。connect函数的第五个参数ConnectionType默...
2020-03-29 00:27:48 12833 7
原创 C++ std::function函数包装器
0.前言类模板 std::function 是通用多态函数封装器。 std::function 的实例能存储、复制及调用任何可调用对象。C++语言中有多种可调用对象:函数、函数指针、lambda表达式、bind创建的对象以及重载了函数调用运算符的类(仿函数)等。和其他对象一样,可调用对象也有类型。如:每个lambda有它自己唯一的(未命名)类类型;函数及函数指针的类型则由其返回值类型和实参...
2020-03-28 15:19:08 1096
原创 C++ std::bind函数适配器
0.初识C++11 提供了一个名为std::bind的函数模板,可用于生成可调用对象的转发调用包装器,相当于是个通用函数适配器(旧版本的bind1st/bind2nd已被弃用),可以适配任意的可调用对象,包括函数指针、函数引用、成员函数指针和函数对象。它接受一个可调用对象,生成一个新的可调用对象来适配原来的参数列表。bind将可调用对象与其参数一起进行绑定,绑定后的结果可以使用std::f...
2020-03-27 13:28:05 660
原创 C++ Lambda表达式的基本使用
0.前言Lambda表达式(也叫lambda函数,或简称lambda),是从C++ 11开始引入并不断完善的,是能够捕获作用域中变量的匿名函数对象。因为C++是不能嵌套定义函数的,所以lambda就成了我们构造闭包的主要手段,不过在对象的生命周期上还是有点不同。本文主要展示lambda的基本使用(一些我不常用或者新标准如C++20就先不做笔记了,以在线文档为准)。目录1.认识Lamb...
2020-03-27 00:42:03 18637 5
原创 C++学习笔记:友元
0.前言什么是友元?友元是允许另一个类或者函数访问某个类非public成员的机制,方法是使用friend说明符在类定义中进行额外的声明。既然友元可以访问类的非公有成员,那么可以认为在一定程度上破坏了类的封装性。但我们也可以把他们看成一个整体,那么友元也就是封装的一部分。并且,友元使得编码更加自由,提高了灵活性。和普通的类成员不同,友元关系既不继承,也不传递。友元不一定是派生类的友元,这...
2020-03-25 14:41:59 469
原创 QML制作环形进度条,使用ConicalGradient锥形渐变
QML中没有直接提供环形进度条组件,但是我们可以自己实现,如用Canvas、Shape、QPainter等等。我参照涛哥的代码(https://github.com/jaredtao/TaoQuick),使用QtGraphicalEffects模块的ConicalGradient实现了一个自己的环形进度条(https://github.com/gongjianbo/QmlComponentStyl...
2020-03-20 22:06:31 2487
原创 C++学习笔记:强制类型转换
0.旧式转换先看看旧式的强制类型转换(如,整数进行浮点除法时会把其中一个变量用旧式转换转为 double): //type(expr) 函数形式的强制类型转换 int count1 = 10; bool not_empty1 = bool(count1); //为true //或者(type)expr C语言风格的强制类型转换 int count2 = 0; bool no...
2020-03-19 23:41:10 982
原创 QML类型系统
0.前言QML中可以使用的类型有多种来源,可能是:QML语言本身支持的基本类型(如 int、var 等) C++注册的QML模块(如使用 qmlRegisterType 注册类型) QML写的模块 (如单独写一个 QML 文件来定义自己的组件)但引擎都会对这些类型的属性和实例强制执行类型安全。QML中的类型可以分为三种:基本类型(如 int、string) Java...
2020-03-17 22:55:48 675
原创 QML ListView实现多选操作
需求:单击默认为单选,按住Ctrl+点击为任意项多选,按住Shift+点击为连续项多选分析:1.点击时区分按键状态来进行不同的操作;2.根据不同的操作修改列表项的选中状态。在Qt Widgets框架中,点击事件的QMouseEvent可以通过modifiers函数获取点击时按键的状态。在QML中,MouseArea的clicked(MouseEvent mouse)信号传递的M...
2020-03-07 22:18:36 4375 2
原创 《QDebug 2020年3月》
一、Qt Widgets 问题交流二、Qt Quick 问题交流1.Control2的Menu弹出的时候,Map地图上有个白色块Control2的Menu弹出的时候,Map地图上有个白色块,无论Menu是否在地图组件之内,待解决。(如下图左侧)...
2020-03-05 21:16:09 415
TestGPRC.rar
2021-03-09
SilkToWav_VS2017.rar
2020-11-30
GetAudioInfo_VS2017x64.rar
2020-11-25
QML与C++交互,解压后路径去掉中文.rar
2020-06-26
QTableViewMoveAction.rar
2020-06-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人