qt
文章平均质量分 59
暖暖的纠结
ECIT
展开
-
Qt 使用笔记 --转自 wangwenx190/Note
转自:https://github.com/wangwenx190/notes/blob/master/qt.zh.cn.mdQt 使用笔记Qt 6目标平台变更Qt6 不再支持32位Windows系统,不再支持Windows 7,Windows 8和Windows 8.1,仅支持64位Windows 10 1809及后续版本。目前已经移除了WinRT/UWP支持。UNIX平台的变化请自行查看对应的JIRA ticket。如果您的程序需要继续支持Windows 7/WinRT/UWP,请使用Qt 5转载 2021-03-26 17:36:49 · 5925 阅读 · 1 评论 -
Qt Model View 编程
Qt Model View 编程模型视图编程简介Qt包含一组使用模型/视图结构的类,可以用来管理数据并呈现给用户。这种体系结构引入的分离使开发人员更灵活地定制项目,并且提供了一个标准模型的接口,以允许广泛范围的数据源被使用到到现有的视图中。模型 - 视图 - 控制器(MVC)是一种设计模式,由三类对象组成:表示数据的模型(Model)、表示用户界面的视图(View)和定义用户界面上的操作控制(Controller)。Model/View 结构Model-View-Controller(MVC),翻译 2020-10-13 15:43:30 · 537 阅读 · 0 评论 -
Qt 自定义委托
效果图之前看大刘大佬的 Qt编写的项目作品22-自定义委托全家桶 感觉做的非常好,可惜没有开源。最近有时间打算仿照他的项目写一个,顺便学习一下模型视图框架。Mode/View 基础知识。原创 2020-10-12 18:13:47 · 433 阅读 · 3 评论 -
Qt CuteLogger 日志输出文件
Qt 开发过程中,我们经常使用qDebug()来输出一条调试信息,但是,等软件正式发布之后,我们就需要软件运行日志功能,使用日志功能,能够快速的进行异常错误的跟踪和定位。也能查看软件运行的情况。Qt的日志工具有很多,log4cplus、log4cxx,Log4Qt等等,当然,也可以采用Qt的消息输出,重定向到日志文件,就可以实现一个简单的日志记录系统。具体可参考:使用Qt实现简单的日志记录功能(qInstallMessageHandler)下面,介绍一个 CuteLogger :基于Qt的应用程序的快速原创 2020-08-27 14:12:07 · 1038 阅读 · 0 评论 -
Qt 自定义颜色下拉控件
效果:其实,在这里之前看了许多自定义颜色控件,有的是采用继承QPushButton。点击后,直接弹出 QColorDialog,然后重写 paintEvent()函数,绘制背景为选中的颜色。但是,都没有下拉选择颜色的感觉。也有的继承 QCombox。在 item 项中添加颜色和文本。通过下拉数据项来选择。如下所示,但是,如果通过下拉数据项来选择的话,如果颜色较多,则不适用。因此我采用了上面继承QCombox。点击后,弹出一个 Popup 的窗体(通过 setWindowFlags(flags)原创 2020-08-24 14:31:02 · 2169 阅读 · 3 评论 -
Qt QStyle
QStyle ClassQStyle类是一个抽象基类,它封装了GUI的外观。Qt 包含一组 QStyle 子类,这些子类可以模拟Qt支持不同的平台样式(QWindowsStyle,QMacStyle等)。默认情况下,这些样式内置在 Qt GUI 模块中,样式也可以作为插件使用。Qt 的内置小窗口部件使用 QStyle 来执行几乎所有的绘图,从而确保它们看起来完全等同于等效的本级窗口小部件。下图展示了九中不同样式的 QCombox。Setting a Style (设定风格)可以使用 QAppli原创 2020-08-24 13:04:23 · 5659 阅读 · 0 评论 -
Qt 多线程使用总结
这几天在研究如何使用Qt的多线程,想将串口操作放到线程中去执行,这样的话,就算是串口接收大量的数据,也不会导致界面出现假死的现象。之前在使用串口的时候,一般都是采用异步(非阻塞)方式通信,也即是通过调用:connect(serial, &QSerialPort::readyRead, this, &SerialBoard::readData);//直接读取全部数据void...原创 2020-04-27 16:09:44 · 2325 阅读 · 2 评论 -
Qt setWindowFlags与setAttribute
一、setWindowFlags窗口样式解析在继承QWidget类的构造函数中,经常会出现这句:QWidget(QWidget *parent = Q_NULLPTR, Qt::WindowFlags f = Qt::WindowFlags())其中:QWidget *parent = Q_NULLPTR 是指父窗口部件的指定。Qt::WindowFlags f = Qt::Windo...原创 2018-12-27 14:15:14 · 2123 阅读 · 0 评论 -
Qt QSS常用样式总结
QTabWidget/***************************************************************************** QTabWidget * 描述:pane 指整个tab组件* border-width 组件的外框宽度* border-color 外框颜色 border-style外框风格...原创 2018-12-28 20:48:35 · 10144 阅读 · 2 评论 -
Qt 使用 QtXlsx 操作Excel
刚开始尝试了使用:Qt + QAxObject操作Excel,具体可参考这篇博文:《Qt5+QAxObject操作Excel》但是,采用这种方式就需要平台已经安装Microsoft Excel。后台也会一直存在Excel的进程,需要手动打开任务管理器关闭,并且还会弹出各种烦人的消息框。因此舍弃,采用QtXlsx。项目主页:http://qtxlsx.debao.me/ 有一些演示Git地址:...原创 2019-01-03 21:00:37 · 4090 阅读 · 0 评论 -
Qt 仿QQ图片查看器
最近项目中,由于需要查看图片。看了网上写的各种图片查看器。感觉都没有QQ图片查看器那种界面好看一点。并且放大了可以移动图片。为此,想着仿QQ图片查看器自己写了一个,如图:主要实现的功能有:鼠标滚轮可以缩小,放大图片。界面自动大小自动调整,默认为720*540.当图片大小超过这个时候,界面调整为图片大小。只有图片大小大于界面大小的时候,图片才可以进行移动。...原创 2019-01-15 11:30:12 · 1506 阅读 · 3 评论 -
QListWidget 关闭滚动条,用鼠标拖动QListWidget进行滚动
效果如下:采用QListWidget显示候选词,然后鼠标可以点击左键进行拖动。实现代码如下:m_ListWidget = new QListWidget(m_backgroud);m_ListWidget->setViewMode(QListView::ListMode);m_ListWidget->setFlow(QListView::LeftToRight);//将从左到...原创 2019-04-18 15:52:54 · 3351 阅读 · 3 评论 -
Qt5.7 MingW 编译 QtCreator
前段时间,做自定义控件的时候,参考了刘神的 Qt编写自定义控件插件路过的坑及注意事项和 Qt Creator自定义插件备忘这里非常感谢前辈的总结,使得我们避免了许多坑。这里我主要说下:每个Qt库bin目录的designer可执行文件都是和该库同一个编译器编译的,可用,如果想要集成到Qt Creator中,则需要注意版本,一般在windows上的Qt Creator版本是MSVC的,则需要...原创 2019-08-01 13:06:23 · 1652 阅读 · 1 评论 -
Qt学习笔记:Qt 事件机制
一、Qt中的事件处理1. 在Qt中,事件被封装成一个个对象,所有的事件均继承自抽象类QEvent. 事件处理的核心包括事件①产生、②分发、③接受和处理。事件的产生:谁来产生事件? 最容易想到的是我们的输入设备,比如键盘、鼠标产生的keyPressEvent,keyReleaseEvent,mousePressEvent,mouseReleaseEvent事件(他们被封装成QMouseEve...原创 2018-12-26 18:23:00 · 457 阅读 · 0 评论 -
Qt学习笔记
一、Qt 防止应用程序重复启动通常我们的程序需要访问各种资源,如果同时起多份实例,造成资源争用,带来混乱。因此需要一个方法保证任何时候只起一个实例。在qt中可以借助共享内存来实现。QSharedMemory有一个create方法,在qt帮助里这么描述:bool QSharedMemory::create(int size, AccessMode mode = ReadWrite)Cre...原创 2018-11-29 13:25:22 · 332 阅读 · 1 评论 -
Qt 音乐播放器:实现点击窗体外的地方该窗口自动关闭
最近在模仿网易云播放器的时候遇到这个问题:点击"播放列表"弹出音乐列表窗体,点击该窗体的其他的地方。该窗口自动关闭,如下所示:(ps:录屏的时候,鼠标显示不出来,尴尬!)为此,记录实现该种效果的方法://创建该对象的时候,设置坐标和大小都为0m_pMusicPlayListWidget = new MusicPlayListWidget(this);m_pMusicPlayListWi...原创 2018-09-29 19:36:27 · 1087 阅读 · 0 评论 -
qt: exec()的用法,accept()和accepted的概念
转载:http://blog.csdn.net/xdlichen/article/details/46374517 本篇,会重点讲述模式对话框,以及exec()的用法,accept()和accepted的概念。一.非模式对话框非模式对话框是和同一个程序中其它窗口操作无关的对话框。在字处理软件中查找和替换对话框通常是非模式的来允许同时与应用程序主窗口和对话框进行交互。调用show()来显示非模式对话转载 2016-08-19 10:25:52 · 32220 阅读 · 4 评论 -
QT智能家居界面qss渲染
新手,刚开始入门QT,想着用QT做上位机,做界面是如何实现的,于是在一片博客中看到这个智能家居的界面,于是仿照这个博客编写了这和界面,这个界面原创是“流浪的鹅卵石”。在这里感谢“流浪的鹅卵石”, http://blog.csdn.net/u013704336/article/details/51072709 本人只是仿照。写本博客只是想记入学习过程中的一些心得和笔记: 下面上截图:原创 2016-08-30 10:03:04 · 11872 阅读 · 20 评论 -
Qt学习笔记:无边框窗体的移动
类似360安全卫士界面, 鼠标只能够在绿色的位置进行点击和移动,这就是采用Qt实现的无边框窗体的移动。 其实实现无边框窗体的移动主要是靠以下三个函数: void mousePressEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event); void mouseReleaseEvent(QMou原创 2017-07-12 18:44:25 · 656 阅读 · 0 评论 -
QT学习笔记 -->接受一帧数据并不是一次接受完,分多次接受
一帧数据多次接受处理方法在使用Qt自带的串口QtSerialPort时。其发送过来的数据需要进行接受,则需要连接一个相应的槽函数: //连接槽函数,当有串口数据来时,进入槽函数。 connect(serial,SIGNAL(readyRead()),this,SLOT(Read_Data()));其中只要是串口中有数据,便会执行Read_Data()槽函数,并不是说一帧数据发送完了,才执行原创 2017-06-27 09:37:28 · 6987 阅读 · 1 评论 -
Qt学习笔记:QByteArray Class
QByteArray类提供一个字节数组,QByteArray可用于存储原始字节(包括“\ 0” )和传统的8位 “\ 0” 端接字符串 . 使用QByteArray比使用const char *更方便.除了QByteArray之外,Qt还提供了QString类来存储字符串数据。对于大多数用途,QString是您要使用的类。它存储16位Unicode字符,使您可以轻松地在应用程序中存储非ASCII /原创 2017-06-27 11:03:51 · 30877 阅读 · 0 评论 -
Qt学习笔记: 实现截图效果
首先在这里感谢刘大师,提供的源码进行学习。如有冒犯之意,请联系我将其删除,谢谢!这是刘大师的个人主页.目前跟随刘大师的脚步,学习了一下采用Qt实现截图的效果,具体效果如下: 废话不多说,先谈谈这个功能。 首先我们了解一下这个截图:首先,我们是点击“截图工具“,然后弹出灰色的背景,在拖动鼠标进行截图,最后在保存图片。 截屏思想:点击截屏工具的时候,截取全屏的像素,并且将全屏保存到一个全局的变原创 2017-11-18 14:16:30 · 1541 阅读 · 1 评论 -
Qt学习笔记:自定义窗体的移动+控件图标
在这里首先感谢刘大师的作品:Qt编写通用主界面导航(开源) 贴上演示: 本博客主要是研究了刘大师的作品然后自己总结,做点笔记。。不喜勿喷~~~ 废话不多说,先贴出代码解析一下: AppInit::Instance()->start();单例模式 Instance()首先说说这个这个Instance(),本人由于是C++新手,对此有好多C++知识不懂。因此在这里记录一下: 这个Inst原创 2017-11-16 13:34:06 · 3979 阅读 · 4 评论 -
解决QT警告:libpng warning: iCCP: known incorrect sRGB profile
在Qt中,如果使用某些格式png图片,可能会报警告libpng warning: iCCP: known incorrect sRGB profile,但是这并不会影响编译。 网上看了解决方案,基本上都是直接将图片转换以后解决的,通过下载源码,进行研究以后发现也就几行代码,因此在这里分享一下。 具体实现思路是: 用QImage读取一下,然后直接保存回去就可以了。QString pixmap_u原创 2017-11-27 17:09:21 · 26658 阅读 · 7 评论 -
Qt中QObject::sender()的用法
当某一个Object emit一个signal的时候,它就是一个sender,系统会记录下当前是谁emit出这个signal的,所以你在对应的slot里就可以通过 sender()得到当前是谁invoke了你的slot,对应的是QObject->d->sender.有可能多个Object的signal会连接到同一个signal(例如多个Button可能会connect到一个slot函数onCl转载 2018-01-29 18:39:01 · 3065 阅读 · 2 评论 -
QT 国际化 动态切换中英文
Qt 国际化 动态切换中英文由于项目需要,需要在界面中实现动态切换中英文。由此记录下实现方法。首先如图所示:在右上角中有一个按钮切换选择中英文。 实现效果:点击菜单按钮后弹出两个子菜单列表。选择中英文。实现方法:将PushButton按钮转换为菜单按钮,在某些样式中,按钮的文本右侧会生成一个小三角形。m_menu = new QMenu;m_E...原创 2018-04-03 14:32:18 · 6097 阅读 · 14 评论 -
Qt学习笔记(6月)
QT学习笔记(6月)1. Qt qojbect_cast的使用函数原型:T qobject_cast ( QObject * object )本方法返回object向下的转型T,如果转型不成功则返回0,如果传入的object本身就是0则返回0。 在使用时有两个限制:T类型必须继承自QObject。在声明时必须有Q_OBJECT宏。官方例子如下:QObje...原创 2018-06-21 21:02:42 · 224 阅读 · 0 评论 -
Qt学习笔记:2018年8月记录
1. Qt 设置背景图片注意事项:使用stylesheet设置背景图片还是有一些要注意的,如果是在mainwindow和dialog中, 直接右键change style sheet在add resource中选择background-image或者border-image, 选择资源文件中的图片就行了(前者是按像素显示图片,后者可根据窗体大小来自动缩放图片),但在widget中就不...原创 2018-08-24 09:21:33 · 509 阅读 · 0 评论 -
基于QT:温度串口图像显示
用Qt自己写一个上位机,将串口发过来的温度信息,显示出来,并且绘画出温度曲线 上图: 采用QT绘画曲线,首先当然是采用,qwt控件,而Qt没有自带的qwt控件,所以需要按住移植qwt控件方法具体步骤如下: 1. Download and install QT 5.0.1 (MinGw) to: “C:\Qt\Qt5.0.1” 2. Download and extract Qwt原创 2016-08-18 10:07:59 · 9998 阅读 · 21 评论