
Qt
lxj434368832
这个作者很懒,什么都没留下…
展开
-
QListView配合Model和Delegate工作的例子
主要代码:#ifndef STUDENT_H#define STUDENT_H #include <QString> class Student{public: Student(); void setId(int id); int id(); void setName(const QString &name); QString name(); private: int m_id; QString m_nam原创 2020-11-29 11:46:01 · 870 阅读 · 0 评论 -
Qt Creator 编辑区关闭右侧的警告和错误提示
简 述:在Qt Creator里面,默认打开一个项目文件,点开一个*.cpp文件里面,是很容易在右侧看到成片的黄色警告⚠️或者红颜色的error提示,看着让人烦人的很,然后在此文章中,给出如何关闭这个黄色、红色警告的的方法。关闭黄色警告(和红色)提示:未修改之前:有着比较多的黄色(红色)警告,虽然不影响编译, 但是看起来很不爽:修改方法和效果:步骤:点击菜单项帮助- 关于插件 - Name - c++: ClangcodeModel,将这一栏的对钩✔️取消掉,然后重启Qt...原创 2020-09-23 12:04:32 · 6904 阅读 · 3 评论 -
【Qt】QWidget设置样式表无效的解决方法
1、现象在对QWidget使用样式表时无效QWidget#MyWgt{ border:1px solid gray;}2、原因原因是QWidget只支持background、background-clip和background-origin属性。3、解决方法3.1 使用QFrame代替QWidget,QFrame继承自QWidget,并且带有框架属性3.2 css样式需要通过paint才能正常绘制到控件表面,而QWidget的paintEvent()是空的,这就要求我们在继承原创 2020-08-25 16:01:10 · 4325 阅读 · 0 评论 -
QPushButton 的默认样式
QPushButton{ background-color: qconicalgradient(cx:0.5, cy:0.522909, angle:179.9, stop:0.494318 rgba(214, 214, 214, 255), stop:0.5 rgba(236, 236, 236, 255)); border: 1px solid rgb(124, 124, 124);...原创 2019-04-08 15:50:51 · 3374 阅读 · 0 评论 -
Qt QSplashScreen显示动画(gif效果)和消息
Qt自己提供了一个开场动画的类QSplashScreen,可以实现简单的图片开场的效果,但是是静态的图片。Qt播放gif格式图片是利用的QMovie实现的。因此利用QMoviee和QTimer,每隔一段时间将QSplashScreen重绘一次,来实现gif动图的效果。具体使用:CSplashScreen *splashscream = new CSplashScreen(":/inputd...转载 2019-05-13 13:51:19 · 5481 阅读 · 1 评论 -
QTabWidget 设置部分tab上有关闭按钮,部分没有
QTabWidget设置setTabsClosable(true)后所有加进来的tab上都会出现关闭按钮,然后利用QTabWidget的tabCloseRequested(int)信号实现tab的关闭。但是有时想设置几个tab不能关闭且把上面的关闭按钮去掉则需要用到QTabBar的一个函数setTabButton(index,position,*widget),把widget设为NULL即可。...转载 2019-06-05 17:21:40 · 3102 阅读 · 0 评论 -
QT用QWT绘制心电图、脉氧饱和度波形图、波形图
qwt是一个基于LGPL版权协议的开源项目, 可生成各种统计图。它为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式提供, 输出方式可以是Curves(曲线),Slider(滚动条),Dials(圆盘),Compasses(仪表盘)等等,目前已经应用到许多工业领域,同时qwt也致力于3d的开发。最近因工作需要循环绘...原创 2019-07-09 15:16:54 · 6032 阅读 · 4 评论 -
Qwt源码解读之QwtPlotItem类(二)
Qwt框架提供了几种标准的图元实现。如网格(QwtPlotGrid类)、标签(QwtPlotMarker类)、标尺(QwtPlotScaleItem类)、显示SVG格式图形文件的图元(QwtPlotSvgItem类)、频谱图(QwtPlotSpectrogram类)、曲线(QwtPlotCurve类)、柱状图(QwtPlotHistogram类)、间隔区域(QwtPlotIntervalCurve...转载 2019-07-09 17:41:17 · 2278 阅读 · 0 评论 -
Qwt自定义缩放操作类QwtPlotMagnifier
Qwt提供了自己的缩放机制。 QwtMagnifier类:提供逐步放大缩小功能的抽象基类。被QwtPlotMagnifier继承。继承关系如下图所示:由于项目要求缩小到整个曲线都显示之后不能再缩小,所以需要自定义QwtPlotMagnifier。运行效果图如下:代码地址:https://download.youkuaiyun.com/download/lxj434368832/...原创 2019-07-23 16:29:37 · 2037 阅读 · 0 评论 -
Qwt自定义平移操作类QwtPlotPanner
Qwt提供了自己的平移机制。 QwtPanner类:提供逐步平移功能的抽象基类。被QwtPlotPanner继承。继承关系如下图所示:由于项目要求坐标轴平移时不能将曲线移出边界,所以需要自定义QwtPlotPanner。运行效果图如下:代码地址:https://download.youkuaiyun.com/download/lxj434368832/11421333...原创 2019-07-23 17:40:50 · 1386 阅读 · 0 评论 -
Qt D指针/私有指针实现
相信不少刚开始阅读Qt源代码的朋友在看到其中的Private类和诸如Q_D、Q_Q等宏时都会思考,为什么Qt要用这样一个设计模式呢?这样一段增加了不少复杂度的代码,到底有多大的好处呢?简单的说,这样的好处在于保证代码的二进制兼容性。什么是二进制兼容性?大名鼎鼎的KDE项目是这样介绍的:一个库是二进制兼容的,如果一个程序和某个库的某个版本动态链接,并且不需要重新编译,即可在安装有该库较新版本的环...翻译 2019-08-09 11:49:44 · 918 阅读 · 7 评论 -
Qt之QProcess(二)调用外部程序
QProcess启动外部程序的方式常用的有三种:start()、execute()、startdetached().start()与startDetached()函数为非阻塞函数。void start(const QString &program, const QStringList &arguments, OpenMode mode = ReadWrite); void...转载 2018-10-24 16:05:53 · 3528 阅读 · 0 评论 -
Qt调用外部程序
Qt调用外部程序一、调用系统默认应用打开文件使用QDesktopServices的openUrl()成员这个函数是跨平台的,Qt会根据不同的系统平台调用默认的程序打开指定文件,QUrl存放制定的路径,使用非常简便,示例代码如下:QString fileName=QFileDialog::getSaveFileName(this,tr("保存"), QCoreApplication::ap...转载 2018-10-24 16:00:40 · 2162 阅读 · 0 评论 -
qt--setWindowFlags各种标志位的窗口样式
记录一下windowFlags各种标志位的样式和用法,代码:#include "qtwindowflagstest.h"#include <QtWidgets/QApplication>#include <QStatusBar>#include <QObject>int main(int argc, char *argv[]){ ...转载 2018-06-28 17:34:20 · 1178 阅读 · 0 评论 -
Qt 原子操作的类QAtomicInteger
ClassBlogQAtomicInteger ClassThe QAtomicInteger class provides platform-independent atomic operations on integers.More...Header:#include原创 2016-12-01 13:26:01 · 10649 阅读 · 0 评论 -
浅谈 qmake 之 shadow build
shadow buildshadow build 是什么东西?就是将源码路径和构建路径分开(也就是生成的makefile文件和其他产物都不放到源码路径),以此来保证源码路径的清洁。这不是qmake独创的东西,cmake中早就使用这个东西了 cmakeqmake备注in-source转载 2016-12-01 13:38:23 · 322 阅读 · 0 评论 -
Qt 智能指针学习
从内存泄露开始?很简单的入门程序,应该比较熟悉吧 ^_^#include #include int main(int argc, char *argv[]){ QApplication app(argc, argv); QLabel *label = new QLabel("Hello Dbzhang800!"); label->show(); re转载 2016-12-09 10:03:05 · 350 阅读 · 0 评论 -
Qt中显示一个窗体的方法
主要是调用以下三个函数,就能保证将一个窗体显示出来QWidget::show();QWidget::raise();QWidget::activateWindow();原创 2016-12-09 13:32:48 · 1713 阅读 · 0 评论 -
Qt浅谈之二十二Qt样式表
一、简介 不断总结好的样式表,美化自己的界面(在实际工作中会不断的更新)。二、详解1、加载样式表文件[html] view plaincopyQFile file(":/qss/stylesheet.qss"); file.open(QFile::ReadOnly); QStrin转载 2017-01-04 10:23:20 · 540 阅读 · 0 评论 -
CentOS 6.4安装Qt5.0.1
在CentOS 6.4下安装Qt5.0.1。1.下载Qt5 SDKhttp://releases.qt-project.org/qt5/5.0.1/qt-linux-opensource-5.0.1-x86-offline.run2.安装sudo chmod 777 qt-linux-opensource-5.0.1-x86-offline.runsudo ./qt-l转载 2017-01-04 16:32:50 · 306 阅读 · 0 评论 -
Linux 下 Qt Creator 的安装使用
Linux 下 Qt Creator 的安装使用 Qt 以其开源,免费,完全面向对象(很容易扩展),允许真正的组件编程以及可移植跨平台等诸多优势得到越来越多的开发人员的青睐。Qt Creator 是 Nokia 官方推出的专门针对 Qt 开发的 IDE。本文详细介绍了 Linux 下 Qt Creator 的安装,并针对 Qt Creator 的使用举了一个 Hello转载 2017-01-04 16:36:33 · 348 阅读 · 0 评论 -
QMap和std::map的遍历
两种遍历方式都使用迭代器:1QMap使用Iterator.key(),和Iterator.value()方法获取第一个或第二个元素的值。而std::map使用Iterator->first(), Iterator->second()来获取第一个或第二个元素的值。QMap<QString,QString> m_RatioCfg; QMap<...原创 2017-01-19 14:24:44 · 18974 阅读 · 4 评论 -
QTreeWidget树的三态操作
在工作中我们会经常使用到树状结构,例如Windows的资源管理器中的目录结构就用到了类似的控件。在Qt中可以使用QTreeWidget来实现类似的效果。Qt中提供的QTreeWidget功能相对比较少,在实际中经常需要扩展它的功能,比如本文将要谈到的三态树的问题。首先我们先创建一个QTreeWidget的对象,并添加一些节点:[cpp] view转载 2017-01-19 17:30:57 · 1019 阅读 · 1 评论 -
QT5 获取mac地址和cpu序列号
#include #include #include #include #include #ifdef __GNUC__#include #elif defined(_MSC_VER)#if _MSC_VER >= 1400#include #endif#else#error Only supports MSVC or GCC#endifQS转载 2017-02-23 15:13:06 · 6933 阅读 · 0 评论 -
线程同步几种方式
进程中线程同步的四种常用方式: 1、 临界区(CCriticalSection) 当多个线程访问一个独占性共享资源时,可以使用临界区对象。拥有临界区的线程可以访问被保护起来的资源或代码段,其他线程若想访问,则被挂起,直到拥有临界区的线程放弃临界区为止。具体应用方式: 1、 定义临界区对象CcriticalSection g_CriticalSection; 2、 在访问共享资源(代码或变量转载 2017-05-08 17:14:33 · 527 阅读 · 0 评论 -
VS+QT和qtcreator工程的互相转换
QT Creator的project转成Visual Studio的project在windows下,运行Qt Command Prompt。输入命令行:qmake -tp vc XXX.pro会生成文件XXX.vcxprojVisual Studio的project转成QT Creator的project第一步,因为原V原创 2018-03-14 17:53:59 · 9095 阅读 · 0 评论 -
QT pro文件介绍
在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下:1. 注释从“#”开始,到这一行结束。2. 指定源文件SOURCES = *.cpp对于多源文件,可用空格分开,如:SOURCES = 1.cpp 2.cpp3.cpp或者每一个文件可以被列在一个分开的行里面,通过反斜线另起一行,就像这样转载 2018-03-15 15:58:53 · 336 阅读 · 0 评论 -
Qt_Pro详解
在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下:1. 注释 从“#”开始,到这一行结束。2.模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:TEMPLATE = appA> app -建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定转载 2018-03-15 16:02:15 · 219 阅读 · 0 评论 -
Qt程序打包发布方法(使用官方提供的windeployqt工具)
Qt程序打包发布方法(使用官方提供的windeployqt工具)Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe。 以官方 Qt 5.4.0+MinGW 开发环境为例,windeployqt工具在 %QTD...原创 2018-06-26 14:07:57 · 124022 阅读 · 19 评论