
QT
文章平均质量分 56
mario_z
用科技改变生活,用科技创造生活。我现在为此奋斗不息,以后也必将为此奋斗不息~
展开
-
界面基础设计之菜单栏
界面设计规则--------菜单栏大部分的GUI应用程序都会提供一个菜单栏,他包含了应用程序的大部分或者全部的命令,把这些命令分类组织。如File(文件),Edit(编辑), View(视图), Tools(工具)。。。。。。window和大多数基于Unix的窗口,菜单栏都位于主窗口的顶部。菜单栏如下图所示:...原创 2021-04-01 00:11:13 · 1822 阅读 · 0 评论 -
关于Qt事件机制的理解
Qt事件机制的理解不多说:原创 2021-06-10 17:58:46 · 245 阅读 · 0 评论 -
C++ /Qt 基础资料
简述Qt 官网Qt 官网:https://www.qt.ioQt 下载:http://www.qt.io/downloadQt 所有下载:http://download.qt.io/archive/qtQt 官方发布下载:http://download.qt.io/official_releases/qtOpen Source 下载:http://www.qt.io/downloa...转载 2018-12-17 12:52:49 · 601 阅读 · 0 评论 -
Python掉用Qt/C++接口
Python掉用C++接口最近有这么一个需求,需要用Python对开发的应用做二次开发。这可难坏我了,之前也没有相关的经验,网上的资料也比较少。后来深度思考了下,这个问题本质上就是用python调用C++的接口。只要把C++的管理接口封装好,暴露给python,就可以达到我的需求了。所以,问题就聚焦到了如何用C++调用python 即是我们今天的主题。C++调用python的思路现在Python也有很多版本,底层语言也有jave实现的,也有C实现的,但是为我们大众用得比较多的还是CPyth.原创 2021-03-25 22:27:20 · 753 阅读 · 0 评论 -
QT中显示框去标题栏后重载鼠标移动函数
protected: void mousePressEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event); void state_info::mousePressEvent(QMou原创 2017-11-20 10:25:02 · 468 阅读 · 0 评论 -
Qt实现自定义的文件对话框CustomFileDialog
文件对话框的代码结构目录如下:其中文件对话框主要由三个部分组成:主要是负责界面Ui。负责文件数据处理。主要是异步处理刷新文件数据。有需要源码的同学可以私聊我~原创 2024-09-24 11:42:40 · 698 阅读 · 0 评论 -
Cmake编译 Qt5 Demo
【代码】Cmake编译 Qt5 Demo。原创 2024-04-16 09:16:14 · 357 阅读 · 0 评论 -
QLayout 删除widget中的子控件,父控件大小不能自适应
Layout自适应原创 2022-11-18 11:19:54 · 1134 阅读 · 0 评论 -
Qt中加载资源文件时候遇到的坑
在加载Qt Resource文件时候遇到的坑:添加动态库或者静态库中:1 . 如果想在静态库或者动态库目录下添加Qt资源文件,需要加Q_INIT_RESOURCE去初始化资源文件(如下图:)2.如果把资源文件全部写在生成可执行文件的目录的CMakeLists下面,则不需要加Q_INIT_RESOURCE(如下图:)文件中加载资源的路径问题:1.加载image资源的时候:注意: 文件加载的路径应该是资源前缀+文件名2.加载普通配置文件的时候:...原创 2022-05-12 14:41:50 · 1817 阅读 · 1 评论 -
Qt4 Linux下读写excel
背景最近项目中涉及到excel的读写,因为是在Linux上操作,而且是Qt4的版本,所以相对有些麻烦。之前我们用的是直接通过python去读写excel,把数据存储到中间文件。然后读中间文件进行操作,这次操作比较麻烦。就考虑其他办法。(开发环境:Centos 7.4, GCC:4.8.5 )Linux读写操作excel的库linux下读写excel文件的库了解到的分为以下几种:1. xlsLib 和 libxls(跨平台的C++读写excel)xlsLib是用来写excel, xlsL.原创 2021-11-16 14:16:06 · 5019 阅读 · 9 评论 -
Qt原子操作之QBasicAtomicInt和QBasicAtomicInt
Qt之原子操作 QBasicAtomicPointerQBasicAtomicInt原子操作:在多线程操作中,原子操作不会被线程调度机制打断。这种操作一旦开始就一直运行到结束,中间不会有上下文切换。Qt为我们提提供了原子指针模板类,以及原子计数。我们分解介绍这两个类QBasicAtomicPointer不多说上源码template <typename T>class QBasicAtomicPointer{public:#ifdef QT_ARCH_PARISC..原创 2021-04-23 17:21:21 · 4935 阅读 · 0 评论 -
Qt实现反射机制
Qt反射机制的实现Jave C#自带的反射机制极大的方便了开发者,同时也有利的增加了程序的灵活度。开发者可以把类注册到程序中,然后通过配置文件自动生成类,掉用类的相关函数。那么C++不支持反射,我们可不可以自己构造呢?答案是当然。如何通过字符串生成类呢:思路如下把类的构造函数和字符串绑定到map/hashmap中,创建对象的时候通过hash表映射,得到类的构造函数,直接生成对象。不多说,直接上代码。核心代码class ObjectFactory{public: tem.原创 2021-03-30 22:57:50 · 1779 阅读 · 0 评论 -
QT的事件模型
关于QT事件机制的学习总结 Qt的核心在于QT的事件驱动机制。而整个事件的机制无非三个部分,事件的产生,事件的处理,事件的分发。(只有继承QOBject的类才能接收和使用事件。事件的产生 事件分为操作系统事件和应用内部事件,例如鼠标,键盘。。等属于由操作系统产生,外部输入事件,应用内部产生的事件有resize,paint等, 还有一种是自己子类化QEvent定义的事件。也属于内部事件。...原创 2019-12-09 15:34:25 · 423 阅读 · 0 评论 -
QT ui 美化
一、主界面1、窗口 最小化 最大化 关闭按钮、显示状态自定义 setWindowFlags(Qt::CustomizeWindowHint); setWindowFlags(Qt::WindowCloseButtonHint); //只要关闭按钮 setWindowFlags(Qt::WindowFlags type) Qt::FrameWindowHi...转载 2018-11-08 09:26:31 · 2133 阅读 · 0 评论 -
关于QT的绘图
最近研究了关于QT的绘图的相关的知识,下面来总结下:QT设置控件的颜色有以下几种方式:1. QPalette (调色板)QPalette类包含每个小部件状态的颜色组。调色板由三个颜色组组成:活动的、禁用的和非活动的。Qt中的所有小部件都包含一个调色板,并使用它们的调色板绘制自己。这使得用户界面易于配置和保持一致。如果您创建了一个新的小部件,我们强烈建议您使用调色板中的颜色,而不是硬编码...转载 2018-11-01 10:45:53 · 1051 阅读 · 0 评论 -
QT的绘图类 QImage /QPixmap/QPicture
绘图设备是指继承QPaintDevice的子类,你可以使用QPainter直接在其上面绘制图形,Qt一共提供了四个这样继承QPaintDevice的绘图设备类,分别是QPixmap、QBitmap、QImage和 QPicture。其中:QPixmap专门为图像在屏幕上的显示做了优化;QBitmap是QPixmap的一个子类,它的色深限定为1,你可以使用 QPixmap的isQBitmap...转载 2018-10-21 16:47:34 · 792 阅读 · 0 评论 -
Ubuntu下安装QT 4.8.6
一、Qt简介 Qt是1991年奇趣科技开发的一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。Qt很容易扩展,并且允许真正地组件编程。 准备工作 操作系统:Ubuntu17.06位数:64位二、安装 1、获取源码Qt4.8.6 http://download.qt.io/official_releases/qt/4.8/...转载 2018-11-14 09:20:59 · 3595 阅读 · 0 评论 -
git的入门使用
很好的一篇GIT入门的文章https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000转载 2018-10-17 14:25:59 · 220 阅读 · 0 评论 -
关于QT用CMake编译
昨天刚到新公司,公司的代码都托管到服务器上面,想在服务器上面用QTCreate开发,编译是不可能了,于是换成了Cmake编译文件。抛弃掉了pro文件。写一个CMakeList文件project(windowsflags)cmake_minimum_required(VERSION 2.8.12)find_package(Qt4 REQUIRED)include(${QT_USE...转载 2018-09-19 18:34:57 · 1467 阅读 · 0 评论 -
QT绘图及动画系统
Qt 提供了内置的绘图系统以及独立的QtOpenGL模块提供对OpenGL的支持。Qt提供了基于状态机的QPainter系统和面向对象的Graphics View系统。QPainter基于状态机的绘图系统主要包含QPainter、QPaintEngine、QPaintDevice 三个类。QPainter有三个主要参数分别用于设置画笔(QPen)、画刷(QBrush)、字体(font)...转载 2018-09-10 10:38:11 · 2970 阅读 · 0 评论 -
Qt之类反射机制
在java语言中,可以使用getObject(String)函数,从类型直接构建新的对象。而在C++中是没有这种机制的,Qt虽然提供了元对象机制,但只可以获取对象的类名,不能反向构建。所以搜索一下资料,实现了类反射,但还是觉得美中不足,因为其必须继承QObject类,限制其灵活度。有更好想法的小伙伴可以留言一起学习~~~~代码如下:objectfactory.h#inclu...转载 2018-09-06 11:24:31 · 655 阅读 · 0 评论 -
Qimage像素级操作
这篇文章主要阐述了如何使用Qt在像素级别上对图像进行操作,并实现了一些图像效果,这些效果主要有:灰度,模糊,锐化,添加相框,金属质感,改变图像饱和度,亮度还有白平衡。scanLine 返回某一行数据,转换为QRgb指针可进行直接有效的像素存取操作。介绍文章中,我们将讨论在Qt中修改图像的一些技术和算法,在这之前,你必须知道在Qt中操作图像的一些方法。.在Qt中有两种表示图像的类,Q...转载 2018-11-14 12:28:28 · 3172 阅读 · 0 评论 -
关于QDockWidget在QMainWindows下的初始化大小的设置
最近使用QDockWidget时遇到了QDockWidget的初始化大小的设置的问题。于是就研究了一番。在网上看到有人用setFixsize固定QDockWidget的大小,但是这样就无法调整DockWidget的大小了。QDockwidget的大小是根据widge里面所放控件的大小决定的,只要设置好里面控件的大小就OK了;用setHinit(QSize)这个函数...转载 2018-11-20 14:11:57 · 1738 阅读 · 0 评论 -
QT项目性能优化
QT项目性能调优小记最近的项目用到了QT 5.5,项目在运行过程中出现了一段时间CPU占用率持续25%,并频繁断网的情况,遂决定对项目性能进行优化。优化工具也是VS2010自带的性能分析工具,具体的使用方法参见:http://www.cnblogs.com/smark/archive/2011/10/12/2208039.html其中可以选择“just my code”过滤出自己编写的...转载 2018-11-28 15:59:28 · 4131 阅读 · 2 评论 -
Log4Qt使用相关使用
简介 前一段时间用过log4Qt,只是零零散散的使用了。没有仔细的深究。抱着能用就行的心态终于遇到坑了。在网上也没有系统的介绍Log4Qt的文章。现在系统介绍下。希望对自己和别人有所帮助。log4Qt是根据Apache的log4j修改过来的,所有里面用的时候也会有jave的影子。需要详细的学习的同学可以搜说log4j的资料。因为log4Qt的资料太少太少了。log...原创 2019-05-07 00:38:05 · 1117 阅读 · 0 评论 -
QT5反射机制(内省)
Qt的元对象系统除了提供信号/槽机制的特性之外,它还提供了以下特性: QObject::metaObject() 返回关联的元对象 QMetaObject::className() 在运行时状态下返回类名 QObject::inherits() 判断类的继承关系 ...转载 2018-09-06 11:21:08 · 499 阅读 · 0 评论 -
关于QT写XML文件出错的问题
最近在QT中学XML文件发现一个bug,文件重复读写多次后,内容出现错误。上图:最后一排多了root >的字符,会导致文件格式出错,读不出文件来。导致文件出错的原因是文件的XML写的时候open权限出错,我这里选择的是ReadWrite,导致新写入文件是,文件内容不会被清空,如果上一次的文件长度比这一次的文件长度要长,就会出现上图所示的情况。所以在读写文件的时候...转载 2018-09-08 16:32:53 · 1502 阅读 · 0 评论 -
Qt元对象系统(二)【根据moc文件解析Q_OBJECT】
我们来看一个信号与槽的小例子头文件:#ifndef MYCLASS#define MYCLASS#include <QObject>class myClass : public QObject{ Q_OBJECTpublic: explicit myClass(QObject *parent = 0 ); ~myClass(); v...转载 2018-03-02 11:14:53 · 582 阅读 · 0 评论 -
QT原对象系统(一)
说Qt信号与槽是一个很好机制,不如说Qt的元对象系统很强大。这也是大家讲Qt就必须将信号与槽,讲信号与槽就要讲Qt的元对象系统。当然初学者知道怎么用就OK啦,当然随着你写的代码越多,接触的平台越多的时候,你就会好奇Qt是如何把两个(多个)任意不相关(必须都继承与QObject)的对象联系在一起的。我们围绕一些问题来认识一下Qt元对象系统:什么是Qt元对象系统,它包含了哪些内容,它在我们的程序中...转载 2018-03-02 11:11:38 · 708 阅读 · 0 评论 -
QT的属性系统
Qt提供了一个绝妙的属性系统。跟那些由编译器提供的属性差不多。然而,作为一个独立于编译器和平台的库,Qt不依赖于非标准的编译特性,比如__property 或[property]。Qt可以在任何平台上的标准编译器下编译。Qt属性系统基于元数据对象系统--就是那个提供了对象内置信号和槽通讯机制的家伙。声明属性需要什么要声明一个属性,需在继承自QObject的类中使用Q_PROPERTY()宏。Q_P...转载 2018-03-02 11:10:20 · 336 阅读 · 0 评论 -
Q_PROPERTY简介
QT提供了一个成熟的属性系统,但是作为一个跨平台的且与编译器无关的库,qt不依赖于非标准的编译器功能例如 __property or [property];QT的强大之处在于它可以支持任何标准的c++编译器。 QT是基于 Meta-Object System(元对象)和signals and slots(信号槽)的.Q_PROPERTYQ_PROPERTY()是一个宏,用来在一个类中声明一个属性p...转载 2018-03-02 10:30:35 · 7634 阅读 · 1 评论 -
Qt反射
简介本文主要讲解Qt是如何实现反射,以及一点点反射使用的小心得。文章概览Qt反射内幕小窥详细内容反射前期准备得到注册的类成员变量得到注册的类成员函数访问类成员属性(get,set)调用注册的函数反射应用总结Qt反射内幕小窥Qt反射机制是基于moc(meta object compiler)实现的,在这里多插一句(可以说Qt所有C++没有的特性,几乎都和这个有关系)。但是需要注意的是Qt提供的反射式...转载 2018-03-02 10:28:09 · 628 阅读 · 0 评论 -
如何在ARM/Linux上使用QPENGL
在ARM Linux上使用OpenGLhttp://xianzilu.spaces.live.com/blog/cns!4201FDC93932DDAF!274.entry 这两天在ARM上跑了一个OpenGL,应该说是OpenGL|ES的软件包,虽然我觉得可能最后我不会使用这个软件包,但是还是记录下来以备忘记。 先全局介绍下,首先,什么是OpenGL和OpenGL|ES。OpenGL是一套绘图函...转载 2018-03-07 09:01:40 · 935 阅读 · 0 评论 -
正则表达式的基本使用方法
1. 常用正则表达式正则表达式以^起头,以&结束,中间通过各种字符来表示格式,类型。如^................&;一下先举几个例子:匹配由26个英文字母的大写组成的字符串^[A-Z]+$匹配email地址^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$匹配非负整数(正整数 + 0)^/d+$以下是正则表达式的相关字符的转载 2017-12-01 09:37:07 · 1733 阅读 · 0 评论 -
关于signal的使用
所以希望能用相同方式处理信号的多次出现,最好用sigaction.信号只出现并处理一次,可以用signal. signal函数每次设置具体的信号处理函数(非SIG_IGN)只能生效一次,每次在进程响应处理信号时,随即将信号处理函数恢复为默认处理方式.所以如果想多次相同方式处理某个信号,通常的做法是,在响应函数开始,再次调用signal设置,如下图:int sig_int(); //My转载 2017-07-18 15:19:48 · 3694 阅读 · 0 评论 -
QT中XML的读写
最近工作的项目中涉及到了XML文件的处理,这里做以及关于QT处理XML文件的记录。XML是一种很好的存储数据的文件。可以存储数据量较大的并且带有不同属性的内容,其中XML采用的是倒树形结构。由一个根节点往后蔓延多个孩子节点,每个孩子节点下面又有多个孩子节点。每一个节点中又可设置Attribute。QT中XML有两个常用的类QDOM和QXmlStream读部分:QXmlStrea原创 2017-11-20 10:19:13 · 1904 阅读 · 0 评论 -
UI设计处理方法
之前有朋友给了几张页面让我看,我给她的第一反馈是没有细节,不耐看。她就非常不解,追问我细节具体指的是什么?是啊,细节到底是什么呢?我刚开始做界面的时候,也是这样,花费了很多时间精力去做一个页面,最终给到别人看的时候,也都是说没有细节,最多加几句说图标不一样大、颜色配的不好看,但如果我把图标改成一样大了、颜色改成大厂的配色,我的页面就耐看了么?答案当然是否定的,不过现在回过头去想,也是那时候页面坑太...原创 2018-03-02 11:34:08 · 857 阅读 · 0 评论 -
Qt绘制系统简介
该文章原创于Qter开源社区(www.qter.org),作者devbean,博客www.devbean.net,转载请注明出处!Qt 的绘图系统允许使用相同的 API 在屏幕和其它打印设备上进行绘制。整个绘图系统基于 QPainter,QPainterDevice 和 QPaintEngine 三个类。QPainter 用来执行绘制的操作;QPaintDevice 是一个二维空间的抽象,这个二维...转载 2018-04-20 08:47:05 · 262 阅读 · 0 评论 -
Qt信号与槽实现原理
有网友抱怨:哪个大牛能帮帮我,讲解一下信号槽机制的底层实现?不要那种源码的解析,只要清楚的讲讲是怎么发送信号,怎么去选择相应的槽,再做出反应。也就是类似于一个信号槽的相应流程。。。求解啊!!!看了源码,真的是一头雾水。。。撞墙的心都有了~~~~ 本文使用 ISO C++ 一步一步实现了一个极度简化的信号与槽的系统 (整个程序4个文件共121行代码) 。希望能有助于刚进入Qt世界的C++用户理解...转载 2018-05-17 10:54:41 · 4811 阅读 · 2 评论 -
QT程序的打包
大多数同学在写好一个QT程序之后,都想快速的把自己软件打包好,以便以后方便快捷的使用。下面是我QT程序的一个打包方法: 1 程序能正常运行之后,找到项目的生成目录,例如我这里项目的生成路径C:\Users\zhangzhuo\Desktop\build-tp-unknown-Debug,目录一般会是以build开头。在目录下面找到XXX.exe,将这个文件复制到一个新建的单独的...原创 2018-08-16 11:30:29 · 382 阅读 · 0 评论