-西门吹雪
世味年来薄似纱,谁令骑马客京华。
小楼一夜听春雨,深巷明朝卖杏花。
矮纸斜行闲作草,晴窗细乳戏分茶。
素衣莫起风尘叹,犹及清明可到家。
展开
-
ubuntu 18.04 编译QT6.2.2源码安装
QT6 源码安装记录qt 6.0安装记录在线安装源码编译安装qt6 需要c++17依赖项所有的依赖项编译QDOoc的依赖项编译步骤安装依赖确保cmake的版本是3.19以上构建参考qt 6.0安装记录在线安装安装mono环境sudo apt-get install mono-complete2.使用fiddler代理mono Fiddler.exe使用urlreplace 去替换该命令第一个是qt的下载地址,第二个是清华的镜像源,也可替换成别的国内镜像源urlreplace d原创 2022-01-28 15:08:11 · 3968 阅读 · 0 评论 -
QWidget->isVisible属性的探究
isiVsible属性探究现象描述官网文档研究源码确认总结现象描述以下情况中默认是false,设置了SetVsible后仍为false,这是什么原因QPushButton *btn = new QPushButton(this);qWarning()<<"isVisible="<<btn->isVisible();//false btn->setVisible(true);qWarning()<<"isVisible="<<btn-&原创 2022-03-09 14:57:28 · 1117 阅读 · 0 评论 -
捕获鼠标Enter和Leave某个控件的四种方式
捕获鼠标Enter和Leave某个控件的四种方式需求视频:测试窗口方式1:过滤方式2:自定义按钮方式3 重写event事件方式4 重写mouseMoveEvent需求视频:鼠标移入某个按钮空间切换窗口显示测试窗口QStackedLayout *layout;是两个窗口的布局,两个窗口分别是w1和w2,w1的颜色和w2的颜色不一致,以此区分 layout = new QStackedLayout(); QWidget *w1 = new QWidget(this); w1-原创 2022-03-09 12:06:52 · 335 阅读 · 0 评论 -
virtualBoard示例的错误-QBackingStore::endPaint
官方示例virtualBoard虚拟键盘在有些板子上不显示,添加如下QQuickWindow::setSceneGraphBackend(QSGRendererInterface::Software);后可显示,但是运行时出现两个问题。问题问题1QML debugging is enabled. Only use this in a safe environment.QBackingStore::endPaint() called with active painter on backingsto原创 2022-02-22 18:20:48 · 831 阅读 · 0 评论 -
QT 信号与槽的两种高级玩法
高级哟原创 2022-02-18 17:45:53 · 585 阅读 · 1 评论 -
ubuntu 18.04设置qt支持中文输入
查看是否安装了相关库dpkg -L fcitx-frontend-qt5 | grep .so1. 失效方法一:拷贝文件将/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/目录下的libfcitxplatforminputcontextplugin.so拷贝至/opt/Qt5.9.5/5.9.5/gcc_64/plugins/platforminputcontexts/目录下这种方法是没有作用,这也说明当前qt是不缺少中文输入环原创 2021-06-17 21:55:52 · 538 阅读 · 0 评论 -
QLogSystem日志系统配置使用
介绍QLogSystem是一种非常有效且易于使用用C ++(使用Qt Framework)的记录库库。 QLogsystem将Java样式记录器层次结构带到C ++,非常简单的API,这也可以在库中使用它。使用适当的记录器层次结构日志可以在运行时进行分类和过滤。可以分别配置和更改日志消息和输出的格式。 QLogsystem非常快。只有当日志级别足够大时才会评估日志消息及其参数,因此调试消息不会影响性能。 QLogsystem是线程安全的,但锁定只在需要时完成。主要特点:易于使用,简单API方便的日原创 2021-03-25 14:35:33 · 399 阅读 · 0 评论 -
QMake使用TopLevel或者TopBuildDir
简述当工作在复杂的基于qmake的有多个子目录的项目时,拥有一对top_srcdir和top_builddir变量是非常方便的,举例来说:INCLUDEPATH = $$top_srcdir/includeLIBS= -L$$top_builddir/lib -lmylibinclude($$top_srcdir/path/to /config.pri)qmake提供出开箱即用的变量PWD和OUT_PWD,但这些变量指向正在处理的当前.pro / .pri文件及其构建规范,这意味着它们会在递回子翻译 2021-03-23 14:38:46 · 669 阅读 · 0 评论 -
QT加载第三方库基操
项目结构预览第三方库CatWhisperer位于3rdparty下(这个仅用做说明,实际不要以数字开头).pro文件应该是这个样子的 TARGET = MyQtApp TEMPLATE = app INCLUDEPATH += 3rdparty/CatWhisperer/include SOURCES += src/main.cpp LIBS += -L"3rdparty/CatWhisperer/lib" -lCatWhispererINCLUDEPATH += 3rd翻译 2021-03-23 14:11:51 · 501 阅读 · 0 评论 -
C:\Windows\System32\drivers\etc中的文件说明
C:\Windows\System32\drivers\etc文件夹下文件描述HOSTSLMHOSTS文件中的内容NETBIOS说明NETWORKS文件内容PROTOCOL 协议SERVICES 端口映射[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OPCvF8Hg-1613812751325)(C:\Users\yyd\AppData\Roaming\Typora\typora-user-images\image-20210220163503728.png)]HOSTS原创 2021-02-20 17:21:34 · 9270 阅读 · 0 评论 -
QCustomPlot示例实践-特殊说明
special pags[特殊说明]类预览类关系图类继承图布局系统类和机制矩形元素边距margins布局顶层的plot布局示例性能优化使用带有特殊Qt定义标志的QCustomPlotQT_NO_CAST_FROM_ASCII和QT_NO_CAST_TO_ASCII的安全字符串强制转换避免使用QT_NO_KEYWORDS的Qt特定语言扩展类预览下面的图可能有助于更深入地理解组成QCustomPlot库的类之间的关系。这些图不是详尽的,所以只显示被认为最相关的类。类关系图类继承图布局系统布局系统翻译 2021-02-09 12:00:38 · 348 阅读 · 0 评论 -
QCustomPlot 示例实践--sinc离散序列
sinc离散序列效果图源码文件源码涉及的函数说明QLocale说明setLocal(const QLocale &locale)customPlot->legend->setVisible(true);1. legend在qcutomplot头文件中定义,当然也是public可以直接使用2. legend的继承关系类图如下3. legend简要说明4. setvisible的意思:效果图源码文件void MainWindow::setupSincScatterDemo(QCust原创 2021-02-09 10:33:34 · 588 阅读 · 0 评论 -
QCustomPlot 示例实践--带填充的简单衰减正弦函数及其红色的指数包络
衰减函数及包络效果图源码函数说明void QCPAbstractPlottable::setPen(const QPen &pen)void QCPAbstractPlottable::setBrush(const QBrush &brush)void QCPAxisRect::setupFullAxesBox(bool connectRanges)void QCPAbstractPlottable::rescaleAxes(bool onlyEnlarge) constvoid QCust翻译 2021-02-08 19:02:25 · 909 阅读 · 0 评论 -
QCustomPlot 示例实践--一个简单的二次方函数图形绘制
认识QCustomPlot简述简述 QCustomPlot是用于绘图和数据可视化的Qt C ++小部件。它没有进一步的依赖关系,并且有据可查。该绘图库专注于制作美观,出版质量的2D绘图,图形和图表,以及为实时可视化应用程序提供高性能。看一下“设置”和“基本绘图”教程以开始使用。 QCustomPlot可以导出为各种格式,例如矢量化PDF文件和光栅化图像(如PNG,JPG和BMP)。 QCustomPlot是用于在应用程序中显示实时数据以及为其他媒体生成高质量图的解决方案。 下面的屏幕快照仅翻译 2021-02-08 18:04:58 · 620 阅读 · 0 评论 -
qt对界面中的控件用lambda表达式
lambda表达式一搜一箩筐简记: connect(ui->mainToolBar, &QToolBar::allowedAreasChanged, this, [ = ]() { qDebug() << ui->mainToolBar->x() << ui->mainToolBar->y(); });原创 2021-01-26 11:42:45 · 340 阅读 · 0 评论 -
QT 提示ui文件已改变
1、修改界面的xml出现的问题2、根据qt creator的提示进行设置原创 2021-01-26 11:40:06 · 795 阅读 · 0 评论 -
QDesktopServices访问桌面服务类
简述QDesktopServices类提供访问公共桌面服务的方法引用头#include <QDesktopServices> qmake引入:QT += gui许多桌面环境提供的服务可供应用程序用于执行常见任务(如打开网页),其方式既一致又考虑用户的应用程序首选项。此类包含为这些服务提供简单接口的函数,这些接口指示这些服务是成功还是失败。函数的作用是:打开外部应用程序中位于任意URL的文件。对于与本地归档系统上的资源相对应的URL(URL方案为“文件”),将使用合适的应用程序原创 2021-01-25 13:34:04 · 504 阅读 · 0 评论 -
QStandardPaths 标准路径访问类(5.14.2)
** QStandardPaths类提供了访问标准路径的方法**此类包含用于查询本地文件系统上的标准位置的函数,用于常见任务,如用户特定目录或系统范围的配置目录。QString QStandardPaths::writableLocation(QStandardPaths::StandardLocation type)返回类型文件应写入的目录,如果无法确定位置,则返回空字符串。注意:返回的存储位置可能不存在;也就是说,它可能需要由系统或用户创建。枚举QStandardPaths::Standard原创 2021-01-25 11:48:47 · 1097 阅读 · 0 评论 -
qt所有示例程序说明(未完,不断更新)
qt自带程序示例小部件嵌套布局小部件小部件程序示例嵌套布局先水平布局后垂直布局代码如下:#include <QtWidgets>int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget window; QLabel *queryLabel = new QLabel( QApplication::translate("嵌套布局", "查询:")); QLineEdit *原创 2021-01-22 10:18:55 · 384 阅读 · 0 评论 -
Error: Meta object features not supported for nested classes
错误:嵌套类不支持元对象功能,所以在使用元对象时不要嵌套使用Q_OBJECT#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QDebug>namespace Ui {class MainWindow;}class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(Q原创 2020-12-14 17:15:41 · 1156 阅读 · 0 评论 -
Lambda记录及说明
Lambda表达式C++11中的Lambda表达式用于定义并创建匿名的函数对象。基本构成:[ 函数对象参数 ](操作符重载函数参数)mutable或exception ->返回值{函数体}参数[ ] 标识一个**Lambda的开始**,这部分必须存在,**不能省略**。 空,没有任何函数对象参数 =,**值传递方式**(作用范围:所有可见的局部变量以及所在类的this) &,**引用传递方式**(作用范围:所有可见的局部变量以及所在类的this)原创 2020-12-11 10:39:49 · 204 阅读 · 0 评论 -
经典排序实践
冒泡排序今天写一个最简单的冒泡排序代码如下:void BubbleSort::commonMethod(vector<int> &v) { int len = v.size();///>计算vector大小 for(int i = 0; i < len - 1; i++) { qDebug() << "---------------...原创 2020-03-10 11:00:50 · 181 阅读 · 0 评论 -
QT 反射机制的简单使用【序】
JAVA中发射机制的说法: Reflection 是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说“自审”,并能直接操作程序的内部属性。Java 的这一能力在实际应用中也许用得不是很多,但是在其它的程序设计语言中根本就不存在这一特性。例如,Pascal、C 或者 C++ 中就没有办法在程序中获得函数定义相关的信息。原文链接 Reflection是Java被视为动态语言的一个关键性质,这个机制允许程序在运行时通过Reflection APIs却任何一个原创 2020-12-09 15:09:24 · 377 阅读 · 0 评论 -
qt 示例中的QtConcurrent::map的进度条理解
代码#include <QtWidgets>#include <QtConcurrent>#include <functional>using namespace QtConcurrent;int main(int argc, char **argv) { QApplication app(argc, argv); const int iterations = 20; // 数据准备,准备vector QVector<int>原创 2020-12-03 14:43:20 · 528 阅读 · 1 评论 -
QFile::setFileName只是设置文件名称
且看帮助文档,用错了后悔一生,每一句都很重要 设置文件名。 该名称不能有路径,相对路径或绝对路径。 如果文件已经打开,请勿调用此函数。 如果文件名没有路径或相对路径,则使用的路径将是open()调用时应用程序的当前目录路径。 示例: QFile file; QDir::setCurrent("/tmp"); file.setFileName("readme.txt"); QDir::setCurrent("/home"); file.open(QIODe原创 2020-12-02 14:13:14 · 3798 阅读 · 1 评论 -
UDP格式及分片
IP数据报格式关键说明:首部长度:IP报头的长度。固定部分的长度(20字节)和可变部分的长度之和。共占4位。最大为1111,即10进制的15,代表IP报头的最大长度可以为15个32bits(4字节),也就是最长可为15*4=60字节,除去固定部分的长度20字节,可变部分的长度最大为40字节。总长度:IP报文的总长度。报头的长度和数据部分的长度之和。标识:唯一的标识主机发送的每一分数据报。通常每发送一个报文,它的值加一。当IP报文长度超过传输网络的MTU(最大传输单元)时必须分片,这个标识字段的值原创 2020-12-02 09:56:30 · 1124 阅读 · 0 评论 -
Qt线程并行翻译
说明 用QtConcurrent编写的程序会根据可用的处理器内核数自动调整使用的线程数。 QtConcurrent包括用于并行列表处理的功能性编程样式API,包括用于共享内存(非分布式)系统的MapReduce和FilterReduce实现,以及用于在GUI应用程序中管理异步计算的类:Concurrent Map and Map-ReduceQtConcurrent :: map()将函数应用于容器中的每个项目,就地修改这些项目。QtConcurrent :: mapped()类原创 2020-11-26 15:21:39 · 305 阅读 · 0 评论 -
QApplication部分翻译
详细说明 QApplication专为QGuiApplication专门提供一些基于QWidget的应用程序所需的功能。它处理小部件特定的初始化,完成。 对于任何使用Qt的GUI应用程序,无论应用程序在任何给定时间有0、1、2或更多窗口,都只有一个QApplication对象。对于基于非QWidget的Qt应用程序,请改用QGuiApplication,因为它不依赖于QtWidgets库。 一些GUI应用程序提供了特殊的批处理模式,即。提供无需执行人工干预即可执行任务的命令行参数。在翻译 2020-11-24 16:47:23 · 268 阅读 · 0 评论 -
qt 多线程共享全局缓冲区
写在最前:该逻辑建立在读的速度要大于写的速度,缓冲区类似于循环缓冲区。测试代码如下: int read = 0; int read1 = 0; int read2 = 0; int read3 = 0; int write = 0; int len = 40; char *data = reinterpret_cast<char*>(malloc(sizeof (char) * len)); if(data == nullptr) { return -1原创 2020-11-24 14:15:20 · 1001 阅读 · 0 评论 -
winpCap中compile和nocap函数
int pcap_compile ( pcap_t *p, struct bpf_program *fp, char *str, int optimize, bpf_u_int32 netmask )编译数据包过滤器,在可由内核级过滤引擎解释的程序中转换高级过滤表达式(请参阅过滤表达式语法)。pcap_compile()用于将字符串str编译为过滤器程序。 program是指向bpf_program结构的指针,并由pcap_compile()填充。优化控制是否对结果代码执行优原创 2020-11-18 17:59:40 · 1290 阅读 · 0 评论 -
pcap_open()函数中的标志位
定义#define PCAP_OPENFLAG_PROMISCUOUS 1定义适配器是否必须进入混杂模式。#define PCAP_OPENFLAG_DATATX_UDP 2定义是否必须使用UDP协议进行数据传输(在远程捕获的情况下)#define PCAP_OPENFLAG_NOCAPTURE_RPCAP 4定义远程探针是否将捕获其自己生成的流量。#define PCAP_OPENFLAG_NOCAPTURE_LOCAL 8定义本地适配器是否将捕获其自身生成的流量。原创 2020-11-18 10:03:32 · 1124 阅读 · 0 评论 -
Ncap初识
什么是Npcap Npcap是用于Windows操作系统的数据包捕获和网络分析的体系结构,由软件库和网络驱动程序组成。 大多数网络应用程序都通过广泛使用的操作系统原语(例如套接字)访问网络。用这种方法很容易访问网络上的数据,因为操作系统可以处理低级细节(协议处理,数据包重组等),并提供类似于用于读取和写入文件的界面。 但是,有时候,“简便方法”不能胜任这项工作,因为某些应用程序需要直接访问网络上的数据包。也就是说,他们需要访问网络上的“原始”数据,而无需操作系统介入协议处理。原创 2020-11-17 17:23:25 · 9574 阅读 · 0 评论 -
winPcap函数-pcap_open()
pcap_t *pcap_open(const char *source, int snaplen, int flags, int read_timeout, struct pcap_rmtauth *auth, char *errbuf);简介打开通用源以捕获/发送(仅WinPcap)流量。pcap_open()用一个调用替换所有pcap_open_xxx()函数。该函数隐藏了不同的pcap_open_xxx()函数之间的差异,因此程序员不必管理其他打开函数。这样,“ true”打开函数根据源类原创 2020-11-17 10:54:08 · 1845 阅读 · 0 评论 -
no macro name given in #define directive 和 QMAKE_MSC_VER 错误
问题1:no macro name given in #define directivepro或者pri文件注释使用# ,请不要使用//,如果出现上述错误将// 去掉问题2 :QMAKE_MSC_VER相关错误修改文件如下添加:QMAKE_MSC_VER = 1900原创 2020-11-11 11:50:29 · 1760 阅读 · 0 评论 -
qt 加载winPcap库
winPCap下载winPcap开发包下载地址解压缩包QT外部依赖pri文件INCLUDEPATH += $$PWD/IncludeLIBS += $$PWD/Lib/wpcap.libPro文件简单测试 //引入头 #include "pcap.h"//---------测试代码----------------- pcap_if_t *alldevs; pcap_if_t *d; int i = 0; char errbuf[PCAP_ERRBUF_原创 2020-11-10 23:55:20 · 760 阅读 · 0 评论 -
qt中的 $$PWD
$$PWD返回的路径是当前文件所在的路径原创 2020-11-10 23:40:57 · 5272 阅读 · 0 评论 -
qt的内存映射
uchar *QFileDevice::map(qint64 offset, qint64 size, QFileDevice::MemoryMapFlags flags = NoOptions)从偏移量开始将文件的大小字节映射到内存中。应该打开一个文件以使映射成功,但在映射内存之后,该文件不需要保持打开状态。当QFile被销毁或用这个对象打开一个新文件时,任何未被映射的映射都将被自动取消映射。映射将具有与文件相同的打开模式(读和/或写),除非使用maprivateOption,在这种情况下,始终可以原创 2020-09-30 10:16:15 · 3166 阅读 · 0 评论 -
灰度图像Dat文件解析
工具说明:读取灰度图像dat文件解析为PNG图像主要代码如下#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>namespace Ui {class MainWindow;}class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = nullptr);原创 2020-09-27 16:59:07 · 728 阅读 · 0 评论 -
QT串口扫描小李子
QT扫描串口QSerialPortInfo认识下构造函数重载的函数串口的信息成员函数实测代码如下:结果如下:QSerialPortInfo认识下 这个类提供已经存在的串口的信息,已经存在的意思是你在电脑的设备管理中可以看到的串口信息。 使用静态函数生成QSerialPortInfo对象的列表。列表中的每个QSerialPortInfo对象代表一个串行端口,可以查询端口名、系统位置、描述和制造商。构造函数QSerialPortInfo(const QSerialPortInfo &ot原创 2020-09-23 11:47:40 · 760 阅读 · 0 评论 -
quick实践——第一个quick empty工程
quick的第一个程序1、工程介绍新建一个quick empty工程,此时会我们创建如下文件,接下来我们来看看每个文件的含义1.1 pro文件说明.pro文件是对整个工程的配置,例如工程里包含哪些文件,路径是什么;以来哪些库,路径是什么;使用了Qt的哪些组件,等等。QT += :这个是添加QT需要的模块TARGET = :生成最后目标的名字TEMPLATE =:应用程序的生成模式,默认是app生成应用程序,如果需要生成库的话就用libCONFIG +=:一些配置信息H原创 2020-08-17 11:01:40 · 258 阅读 · 0 评论