
Qt
这有啥好简介的啊
GreedySnaker
静悄悄的不知何时发起,却只见落幕时众人皆知,轰轰烈烈
展开
-
qpdf开源库踩坑记录
功能很强大,低版本qt没有插件用这个就可。原创 2024-12-12 10:37:05 · 162 阅读 · 0 评论 -
Qt-chart 画折线图(文字x轴)
【代码】Qt-chart 画折线图(文字x轴)原创 2024-12-12 10:26:34 · 331 阅读 · 0 评论 -
Qt-chart 画折线图(以时间为x轴)
【代码】Qt-chart 画折线图(以时间为x轴)原创 2024-12-12 10:10:57 · 486 阅读 · 0 评论 -
Qt-chart 画柱状图
记录下,记录下。原创 2024-12-12 09:54:11 · 306 阅读 · 0 评论 -
QT常用表格导出为Excel
在.pro中添加QT += axcontainer添加头文件#include <QFileDialog> #include <QDesktopServices>QTableWidget导出为Excelvoid MainWindow::WidgetExcalByHtml(QTableWidget *tableWidget, QString &title){ QString fileName = QFileDialog::getSaveFileName(t转载 2022-05-22 18:42:20 · 1234 阅读 · 0 评论 -
QTablewidget中一列添加多个控件
一列中添加多个控件 //设置查看图片按键 QPushButton* viewimage = new QPushButton(); viewimage->setText("查看图片"); connect(viewimage, &QPushButton::clicked, this, &Mainwindow::clickViewImage); //设置查看PDF按键 QPushButton* viewpdf = new转载 2022-05-22 18:18:06 · 841 阅读 · 0 评论 -
QT时间(日期相减问题)
日期计算 QDateTime time = QDateTime::currentDateTime();//获取系统现在的时间 QString str = time.toString("yyyy-MM-dd"); //设置显示格式 QString BeforeDaystr=time.addDays(-30).toString("yyyy-MM-dd");//获取一个月前时间日期与时间戳互转QString starttime ="2022-11-11 12:00:00";QString endti原创 2022-05-22 18:10:37 · 1823 阅读 · 0 评论 -
QComboBox样式表
修改样式真是心累,这个还是比较全的,转发一下,免得后面找不到了。qt的控件样式大部分可以套用下面的链接/* 未下拉时,QComboBox的样式 */QComboBox { border: 1px solid gray; /* 边框 */ border-radius: 3px; /* 圆角 */ padding: 1px 18px 1px 3px; /* 字体填衬 */ color: #000; font: normal normal 15px "Mi转载 2022-05-15 18:53:54 · 9117 阅读 · 0 评论 -
QDialog的closeEvent事件
qt的dialog关闭,调用的不是close,是accept函数和reject函数。所以在关闭上,我们需要重写两个函数void closeEvent(QCloseEvent *event){ /* //do something */ if(条件满足) { QDialog::accept(); } else { event->ignore(); //忽略退出信号,程序继续运行 }}void accept(){ //这里很简单,我们手动调用close事件。原创 2022-03-20 20:18:15 · 3983 阅读 · 0 评论 -
VS-Qt报错-无法解析的外部符号:qt_metacall metaObject
最近遇到了个诡异问题,移植代码到另一个版本,qt代码怎么也编不过去。之前忙,就放着,最近处理,查了很多资料。这个问题一般是没有产生对应的moc_xx.cpp,所以需要找到产生moc__xx这个文件的头文件,把类里Q_OBJECT先注释掉,然后点击保存重新编译编译成功,再加回去。...原创 2022-03-13 19:59:36 · 2643 阅读 · 0 评论 -
QT去掉窗体的问号
//获取窗体属性 windowFlags()setWindowFlags(windowFlags()&~Qt::WindowContextHelpButtonHint);原创 2022-02-01 13:05:11 · 1091 阅读 · 0 评论 -
QLabel设置自动换行
//文本可复制QLabel* label = new QLabel();label->setTextInteractionFlags(Qt::TextSelectableByMouse);//自动换行label->setWordWrap(true);//orlabel->adjustSize();enum TextInteractionFlag { NoTextInteraction = 0,//没有文本交互:只有展示的功能原创 2022-02-01 13:02:26 · 4520 阅读 · 0 评论 -
QLabel手动设置文本时,添加换行符无效
一般的换行符就是\n,这次直接设置进QLabel的Text,在字符串里添加 \n,怎么写都没用,最后换成了 ,然后显示ok了<br/>这是HTML的标签,换行原创 2021-12-12 17:17:23 · 1433 阅读 · 1 评论 -
CMake 管理 Qt 工程 (Linux)
一 环境cmake 3.2Ubuntu 16. 32位Qt 5.1二 代码结构main* 都是建立Qt工程最基础的,就不放了。CMakeLists.txt# cmake的最低版本要求cmake_minimum_required(VERSION 3.1.0)# 设置项目名称set(PRO_NAME demo_qt)project(${PRO_NAME})# 在相应的构建目录中查找头文件set(CMAKE_INCLUDE_CURRENT_DIR ON)# 设置CMake原创 2021-06-26 14:43:30 · 563 阅读 · 0 评论 -
Qt 下载 地址
一 下载地址32位,尽量使用64位清华镜像,会快一点二 安装linuxsudo chomd +x *.run./.runwindows 点就完事了原创 2021-06-26 11:20:04 · 146 阅读 · 0 评论 -
Qt自定义控件-Button
一 简单的自定义一个控件首先创建一个类重写paintEvent 事件,这个demo定义的是一个button,所以还要重写鼠标点击事件二 代码头文件#ifndef QMYBUTTON_H#define QMYBUTTON_H#include <QWidget>#include <QPainter>namespace Ui {class QMyButton;}class QMyButton : public QWidget{ Q_OBJECT原创 2021-03-30 17:09:08 · 912 阅读 · 0 评论 -
Qt中的隐式共享
一 简介Qt 中许多 C++ 类使用了隐式数据共享技术,来最大化资源利用率和最小化拷贝时的资源消耗。当作为参数传递时,具有隐式数据共享的类即安全又高效。在数据传递时,实际上只是传递了数据的指针(这一切都是隐含帮你完成的),而只有在函数发生需要写入的情况时,数据才会被拷贝(也就是通常所说的写时复制)。具有数据共享能力的类包含了一个指向共享数据块的指针。这个数据块包含了数据本身以及数据的引用计数。当共享对象创建出来时,引用计数被设置为 1。当新的对象引用到共享数据时,引用计数增加;当对象引用不再引用数据时,原创 2021-03-27 12:22:40 · 306 阅读 · 3 评论 -
QObject三大职责-事件处理机制
Qt是以事件驱动的UI工具集。 大家熟知Signals/Slots在多线程的实现也依赖于Qt的事件处理机制。在Qt中,事件被封装成一个个对象,所有的事件均继承自抽象类QEvent. 接下来依次谈谈Qt中有谁来产生、分发、接受和处理事件:1、谁来产生事件: 比如键盘、鼠标keyPressEvent,keyReleaseEvent,mousePressEvent,mouseReleaseEvent事件(他们被封装成QMouseEvent和QKeyEvent),这些事件来自于底层的操作系统,它们以异步的形式转载 2021-03-26 10:16:56 · 316 阅读 · 0 评论 -
QObject三大职责-内省机制
所谓内省是指面向对象语言的一种在运行期间查询对象信息的能力, 比如如果该语句有运行期间检查对象类型的能力,那么我们称它是类型内省(type intropection)的,类型内省可以用来实施多态。c++的内省比较有限,它仅支持上面所说的类型内省, C++的类型内省是通过运行时类型识别(RTTI)(Run-Time Type Information)中的typeid 以及 dynamic_cast关键字来实现的,举例说明:// rabbit 派生于 Animal, jump为虚函数if ( rabbit转载 2021-03-25 11:19:10 · 367 阅读 · 0 评论 -
QObject三大职责-内存管理机制
一 QObject三大职责Qt的内存管理机制,是QObject类的三大职责之一,QObject的另外两个职责为内省和事件处理。内存管理,简而言之就是你new的控件只要制定了父窗体,就不需要自己去释放,它的父窗体在自己析构时会去自动释放。二 规则QT的这套回收内存的机制,主要的规则如下:所有继承自QOBJECT类的类,如果在new的时候指定了父亲,那么它的清理时在父亲被delete的时候delete,所以如果一个程序中,所有的QOBJECT类都指定了父亲,那么他们是会一级级的在最上面的父亲清理时被原创 2021-03-25 10:45:50 · 593 阅读 · 0 评论 -
Qt- 事件过滤器
一 简介目标部件有事件产生后,首先会传递给监视对象(事件过滤器)进行处理而不是该事件对应的事件处理器。所以说我们可以截获事件进行处理。监视对象截获目标对象的事件后就会调用自己的eventFilter()函数处理这些事件。总结起来就两个步骤:对目标对象调用installEventFilter()来注册监视对象(事件过滤器);重写监视对象的eventFilter()函数处理目标对象的事件。bool QObject::eventFilter ( QObject * object, QEvent *原创 2021-03-04 17:58:05 · 223 阅读 · 2 评论 -
Qt -信号槽实现原理
一 简介QT信号槽的实现实质是什么?“回调函数”简要说一下信号与槽的底层原理。信号与槽的实现是借助了Qt 的元对象系统,元对象系统有一个元对象编译器,程序编译之前会有一个预处理过程,预处理将一个类/对象中的信号,槽的字符串值分别保存在一个容器中,可能是字符串或者其他的有序容器。二 例子简单实现#include <map># define slot# define siginal protected# define emitclass Object;struct Met原创 2021-03-04 14:36:37 · 3388 阅读 · 1 评论 -
Qt-TreeWidget拖拽
**前言**QT中在QWidget支持拖拽功能,QTreeWidget继承自QWidget,所以自然也具有节点的拖拽功能。拖拽包含两个功能:一个是拖动(Drag),一个是放下(Drop)。拖动的数据是QMimeData数据,MIME数据定义格式:类型/数据 (注意中间有斜线)。若被拖动的对象放下的控件,不接受拖动的对象,Qt光标显示禁用的形状(一个禁用形状)。开始拖动:通过调用QDrag::exec()函数启动,该函数是一个阻塞函数(但不会阻塞主事件循环),这意味着在拖放操作结束之前,不会返回该原创 2021-01-11 14:41:44 · 2771 阅读 · 1 评论 -
Qt-线程
**摘要**Qt有两种多线程的方法,其中一种是继承QThread的run函数,另外一种是把一个继承于QObject的类转移到一个Thread里。Qt4.8之前都是使用继承QThread的run这种方法,但是Qt4.8之后,Qt官方建议使用第二种方法。两种方法区别不大,用起来都比较方便,但继承QObject的方法更加灵活。**第一种方法:**写一个继承于QThread的线程,任何继承于QThread的线程都是通过继承QThread的run函数来实现多线程的,因此,必须重写QThread的run原创 2021-01-08 17:16:19 · 557 阅读 · 0 评论 -
Qt-信号槽
**一 信号槽的第五个参数**1.Qt::AutoConnection:信号的发送者与信号的接收者在同一线程,则默认使用Qt::DirectConnection;如果不在同一线程,则默认 使用Qt::QueuedConnection。2.Qt::DirectConnection:信号的发送者与信号的接收者在同一线程中执行,当发出信号后,会马上进入槽函数,看上去就像在信号 发送位置调用了槽函数,在多线程下会比较危险,容易造成崩溃。3.Qt::QueuedConnection:信号的发送者与信号的原创 2021-01-07 17:24:42 · 372 阅读 · 1 评论 -
Qt解析XML
用Qt中的QDomDocument类处理XML文件XML,全称为扩展标记语言(extensible markup language).是一种非常方便的数据交换工具。现在Blog的订阅系统输出格式就是满足XML规范的RSS格式,还有SVG矢量图形也使用了XML格式。我们在取得一个XML格式的文件后,需要作句法分析去提取发布方提供的信息。而Qt为XML提供了很好的支持,包括DOM的实现和SAX的实现。DOM 是Document Object Model的简称,其实现方式是将整个文档当作一个对象来装入内存进转载 2020-12-30 17:59:37 · 1512 阅读 · 0 评论