Qt 枚举变量,Q_ENUM,Q_FLAG,Q_NAMESPACE,Q_ENUM_NS,Q_FLAG_NS以及其他
摘要:前言 之前做一个比较大工程,核心数据里面有很多是枚举变量,需要频繁地使用枚举量到字符串和字符串到枚举量的操作,为了实现这些操作,我把每个枚举类型后面都附加了两个类似Enum_to_String()和String_to_Enum()的函数,程序显得很臃肿。这时候就非常羡慕C#或者java等兄弟语言,内
阅读全文
posted @
2021-07-05 09:20
一杯清酒邀明月
阅读(1817)
推荐(0)
Qt 绘制贝塞尔曲线例程
摘要:main.cpp 1 #include <QApplication> 2 #include "mywidget.h" 3 4 int main(int argc, char *argv[]) 5 { 6 QApplication a(argc, argv); 7 8 MyWidget w; 9 w.
阅读全文
posted @
2021-06-30 15:34
一杯清酒邀明月
阅读(1169)
推荐(0)
Qt 报错:error: C2143: 语法错误: 缺少“;”(在“*”的前面)
摘要:这是因为,如有2个头文件a.h和 b.h,A.h有#include “B.h”,而b.h也有#include"A.h",同时B.h头文件中有a类的对象(即有A a)等,这样造成 A.h与B.h之间无限循环引用,即会导致以上的错误。解决方法是在B.h头文件的类前声明一下A类即可(即class A;)。
阅读全文
posted @
2021-06-29 10:49
一杯清酒邀明月
阅读(1549)
推荐(2)
Qt QPropertyAnimation 几行代码快速制作流畅的动画效果
摘要:简介 QPropertyAnimation Class 是一个控制动画效果的类,诞生自 Qt 4.6 版本。 该类继承自 QVarianAnimation,并支持其它基类相同的动画类,例如:QAnimationGroup 动画组类,该类仅支持继承自 QObject 类的窗口部件。 以例代劳 用例子来
阅读全文
posted @
2021-06-28 14:59
一杯清酒邀明月
阅读(972)
推荐(0)
Qt QFontMetrics获取字体宽度小示例
摘要:例子如图,关键部分就是点击按钮的槽里的那三句话: 以下还有几个要了解的知识: fontMetrics().width(QString s): 获取字符串s的总像素宽度。 fontMetrics().height(): 获取字体的高度。 fontMetrics().lineSpacing(): 获取字
阅读全文
posted @
2021-06-28 14:13
一杯清酒邀明月
阅读(842)
推荐(0)
Qt GraphicsView框架
摘要:一、GraphicsView框架简介 QT4.2开始引入了Graphics View框架用来取代QT3中的Canvas模块,并作出了改进,Graphics View框架实现了模型-视图结构的图形管理,能对大量图元进行管理,支持碰撞检测,坐标变换和图元组等多种方便的功能。 GraphicsView框架
阅读全文
posted @
2021-06-25 16:10
一杯清酒邀明月
阅读(3133)
推荐(2)
Qt 获取QGraphicsItem在屏幕上的位置,在QGraphicsItem中获取全局位置,转换为screenPos
摘要:首先了解几个QGraphicsItem的函数 1 QGraphicsScene* QGraphicsItem::scene() 返回item所在的场景Scene 2 QPointF QGraphicsItem::scenePos() 返回item在场景中的位置 QGraphicsScene的函数 Q
阅读全文
posted @
2021-06-25 15:51
一杯清酒邀明月
阅读(2559)
推荐(0)
Qt easingCurve:QEasingCurve官方解析及实例
摘要:官方解析easingCurve:QEasingCurve 这个属性保留了动画的缓和曲线。他定义了缓和取消,默认情况下,使用线性缓和曲线,产生线性插入值。下面举出其他曲线的例子:QEasingCurve::InCirc 这个属性提供了圆形入口曲线。QEasingCurve::InOutElastic这
阅读全文
posted @
2021-06-25 15:26
一杯清酒邀明月
阅读(745)
推荐(0)
Qt error: C1075: 左侧的 大括号“{” 与文件结尾不匹配
摘要:出现这个问题很奇怪,不存在大括号不匹配的情况,编译出现这个错误时,可以看到在控制台同时输出这样一句提示“请转unicode编码......” 所以我给出的解决方法是:将代码复制到txt,将txt保存为unicode编码,在新建文件,然后将这段代码拷贝进去,编译OK了
阅读全文
posted @
2021-06-25 12:00
一杯清酒邀明月
阅读(1613)
推荐(0)
Qt QParallelAnimationGroup 并行动画组
摘要:简述 QParallelAnimationGroup类提供动画的并行组。 QParallelAnimationGroup - 一个动画容器,当它启动的时候它里面的所有动画也启动,即:并行运行所有动画,当持续时间最长的动画完成时动画组也随之完成。 详细描述 QParallelAnimationGrou
阅读全文
posted @
2021-06-24 13:34
一杯清酒邀明月
阅读(671)
推荐(0)
Qt closeEvent的使用
摘要:在平常使用软件的时候,常常能遇到这样的情况:点击关闭选项后,程序没有马上退出,而是跳出一个对话框,问你是否确定退出软件? 在Qt中同样提供了一个函数来实现这个功能,那就是QCloseEvent 它的具体定义是这样的: void QMainFrame::closeEvent ( QCloseEvent
阅读全文
posted @
2021-06-23 14:51
一杯清酒邀明月
阅读(1375)
推荐(0)
Qt QThread与QObject的关系
摘要:Threads and QObjects QThread 继承 QObject.。它可以发送started和finished信号,也提供了一些slot函数。 QObject.可以用于多线程,可以发送信号调用存在于其他线程的slot函数,也可以postevent给其他线程中的对象。之所以可以这样做,是
阅读全文
posted @
2021-06-23 10:47
一杯清酒邀明月
阅读(804)
推荐(0)
Qt QObject::killTimer: timers cannot be stopped from another thread
摘要:出现这个错误的原因在于在次线程中执行主线程对象的一些操作引起的。 可以这样修改: 如果次线程需要更新主线程对象状态,需要发送消息,主线程对象接收后处理而不能在此线程中直接操作。 QT定时器非常好,只要注意跨线程问题 QT定时器线程相关的使用注意事项: 不能夸线程启动定时器和停止定时器 不能夸线程启动
阅读全文
posted @
2021-06-23 10:38
一杯清酒邀明月
阅读(3169)
推荐(0)
Qt 单例模式的实现(4种方法)
摘要:最简单的写法: 1 static MyClass* MyClass::Instance() 2 { 3 static MyClass inst; 4 return &inst; 5 } 过去很长一段时间一直都这么写,简单粗暴有效。但是直接声明静态对象会使编译出的可执行文件增大,也有可能出现其他的一些
阅读全文
posted @
2021-06-22 16:32
一杯清酒邀明月
阅读(4334)
推荐(0)
Qt 单例模式
摘要:单例模式的意图与作用: 意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 作用:主要解决一个全局使用的类频繁地创建与销毁。 注意:在使用单例模式时构造函数是私有的。 优点: 1、在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例。 2、避免对资源的多重占用(比如写文件操作
阅读全文
posted @
2021-06-22 16:29
一杯清酒邀明月
阅读(433)
推荐(0)
Qt 实现单例模式
摘要:单例模式 单利模式作为一种常用的软件设计模式,主要是用来保证系统中只有一个实例,例如一般一个程序中只有一个日志输出实例,一个系统中只有一个数据库连接实例,这时候用单例模式非常合适。 简单的单例模式 1 class QSingleton 2 { 3 public: 4 static QSingleto
阅读全文
posted @
2021-06-22 14:37
一杯清酒邀明月
阅读(816)
推荐(0)
Qt QAtomicPointer
摘要:QAtomicPointer类是一个模板类,它对指针提供与平台无关的原子操作 template <typename T> class QAtomicPointer 头文件: #include <QAtomicPointer> cmake: 1 find_package(Qt6 COMPONENTS
阅读全文
posted @
2021-06-22 14:13
一杯清酒邀明月
阅读(908)
推荐(0)
Qt 智能指针QPointer, QSharedDataPointer ,QSharedPointer,QWeakPointer和QScopedPointer
摘要:QPointer (4.0) 已经过时,可以被QWeakPointer所替代,它不是线程安全的。 QSharedDataPointer (4.0) -- 提供对数据的COPY-ON-WRITE以及浅拷贝,提供对数据(而不是指向数据的指针)的线程安全的保护。(注:提供对数据的线程安全保护要结合Qsha
阅读全文
posted @
2021-06-22 14:08
一杯清酒邀明月
阅读(818)
推荐(0)
Qt QRegExp 正则表达式
摘要:Regexps由表达式(expressions)、量词(quantifiers)和断言(assertions)组成。 最简单的一个表达式就是一个字符,例如x和5。而一组字符可以使用方括号括起来,例如[ABC]将会匹配一个A或者一个B或者一个C,这个也可以简写为[A-C],这样我们要匹配所有的英文大写
阅读全文
posted @
2021-06-22 10:03
一杯清酒邀明月
阅读(934)
推荐(0)
Qt 架构图及模块分析介绍
摘要:1、Qt框架图: 2、Qt模块组成 通用软件开发模块 QtCore 核心非图形接口类,为其他模块所调用 QtGui GUI(图形用户接口)功能模块 QtMultimedia 提供低级多媒体功能支持的类 QtNetwork 提供对网络编程支持的功能类 QtOpenGL 提供对OpenGL支持的功能类
阅读全文
posted @
2021-06-21 14:26
一杯清酒邀明月
阅读(1662)
推荐(0)