摘要: 通过 QPainter 绘画实现,以本地图片985*740为例 如下图所示: 效果如下所示: 实现原理 主要通过以下函数实现: 只要算出x y w h sx sy就能实现超出窗口不显示的效果 举个例子,如下图所示,居中显示1200*1200时: 当图片左偏移600时,也就是offset=-600时,阅读全文
posted @ 2018-05-18 17:10 LifeYx 阅读(90) 评论(0) 编辑
摘要: Qt发送事件分为两种 -阻塞型事件发送 需要重写接收对象的event()事件处理函数 当事件发送后,将会立即进入event()事件处理函数进行事件处理 通过sendEvent()静态函数实现阻塞发送: sendEvent()函数是阻塞式的,所以支持栈空间/堆空间事件对象的发送(局部对象和new分配的阅读全文
posted @ 2018-05-15 20:25 LifeYx 阅读(43) 评论(0) 编辑
摘要: 如果串口带有奇偶校验,则需要设置32的串口字长为9位数据格式才行,否则会乱码阅读全文
posted @ 2018-05-11 16:26 LifeYx 阅读(9) 评论(0) 编辑
摘要: QPlainEdit编辑功能 Public Slots Signals 示例代码 Widget.h: Widget.c: 效果:阅读全文
posted @ 2018-05-07 17:28 LifeYx 阅读(16) 评论(0) 编辑
摘要: Qt事件处理介绍 Qt平台会将系统产生的消息转换为Qt事件 Qt事件是一个QEvent的对象 Qt事件用来描述程序内部或外部发生的动作 任意的QObject对象都具备事件处理的能力 Qt常见的事件继承图如下: QInputEvent:用户输入事件 QDropEvent:用户拖放事件 QPaintEv阅读全文
posted @ 2018-05-05 22:12 LifeYx 阅读(116) 评论(0) 编辑
摘要: QMap QMap原型为class QMap <K,T>,其中K表示键,T表示值,K和T属于映射关系. QMap会根据K来自动进行升序键排序 QMap中的K类型必须重载operator < QMap常用函数如下: QMap示例: 打印: 也可以使用QMapIterator迭代器来遍历整个QMap Q阅读全文
posted @ 2018-05-03 16:25 LifeYx 阅读(17) 评论(0) 编辑
摘要: QT检测内存泄漏 在Linux Qt Creator里,有个Valgrind内存分析器,它用来检测应用程序是否发生内存泄漏 安装: 如何使用Valgrind内存分析器 1.启动Valgrind内存分析器 2.分析出有多处有可疑内存泄漏的地方,以下面为例: 上图的蓝色线表示位于Qt库,所以我们不需要操阅读全文
posted @ 2018-05-02 17:23 LifeYx 阅读(23) 评论(0) 编辑
摘要: QFile Qt中所有与IO相关的类都继承于QIODevice,继承图如下所示: 其中QFile类便是用于文件操作的类 在QT中,将文件当做一种特殊的外部设备对待(比如:串口,usb等就是外部设备) QT中,IO操作相关的函数接口,常用以下几种 打开设备 读取数据 写入数据 关闭设备 IO操作的本质阅读全文
posted @ 2018-05-02 16:57 LifeYx 阅读(215) 评论(0) 编辑
摘要: QMainWindow介绍 主窗口是与用户进行长时间交互的顶层窗口,比如记事本 主窗口通常是应用程序启动后显示的第一个窗口 QMainWindow是Qt中主窗口的基类,继承于QWidget,如下图所示: QMainWindow和其它类不同,如下图所示: QMainWindow组件布局 1.菜单栏 Q阅读全文
posted @ 2018-04-29 15:04 LifeYx 阅读(27) 评论(0) 编辑
摘要: 1.解决Win平台中文显示 1.1首先解决win平台上中文显示乱码问题 1)首先查看qt creator的编码格式 通过->编辑->选择编码 查看. 2)如果qt creator的编码格式是utf8,并且项目里的汉字是utf8类型时 需要添加头文件: 在main()函数加入: 3)如果qt crea阅读全文
posted @ 2018-04-28 15:22 LifeYx 阅读(27) 评论(0) 编辑