- 博客(37)
- 资源 (16)
- 收藏
- 关注
原创 QWebEngineView右键菜单翻译
在代码中实现this->pageAction(QWebEnginePage::Back)->setText(QStringLiteral("后退"));this->pageAction(QWebEnginePage::Forward)->setText(QStringLiteral("前进"));this->pageAction(QWebEnginePage::Reload)->setText(QStringLiteral("刷新"));this->page
2022-03-27 14:34:22
1366
1
原创 Qt笔记28:QJsonObject和QByteArray的相互转换
/** * @brief 字节数组转Json * @param byteArray * @return */QJsonObject getJsonFromByteArray(const QByteArray &byteArray){ QJsonParseError jsonParseError; QJsonDocument jsonDoc = QJsonDocument::fromJson(byteArray, &jsonParseError); QJs
2021-05-19 22:45:02
2168
原创 Qt笔记27:QGraphicsView、QGraphicsScene坐标系问题,QGraphicsView缩放
(1) QGraphicsView、QGraphicsScene坐标系问题,场景初始状态(0,0)在QGraphicsView的中间,随着添加item,(0,0)位置会发生变化。想要scene和view保持同样大小可采用方法正确的解决方案是setSceneRect(0,0,W,H);而且需要W>=static_cast< QWidget *>(graphicsScene->parent())->size().width()H>=static_cast< QWi
2021-05-19 08:53:51
2287
原创 Qt笔记26:qt在构造函数获取窗口大小失败
不能在构造函数中获取窗口的大小,因为还未初始化好,获取的不正确;推荐在resizeEvent方法里获取。
2021-05-19 08:49:47
576
1
原创 Qt笔记25:QFile读写中文乱码:指定文件编码方式
QFile读写中文乱码:指定文件编码方式解决方法用QTextStream来读写文本QTextStream in(&file);in.setCodec("UTF-8"); // 设置文件的编码格式为UTF-8QString line = in.readLine(); // 此时以UTF-8的方式从文件中读取内容,结果正常...
2021-05-19 08:48:15
5874
原创 Qt笔记24:Qt Designer插件
QtDesigner导入自定义插件Plugin,dll存放路径,D:\Qt\Qt5.13.0.x86\5.13.0\msvc2017\plugins\designer
2021-05-19 08:44:23
288
原创 Qt笔记23:qt运行时库vcredis位置
QtCreator下lib文件夹中有响应版本的vcredis版本或者D:\Qt\Qt5.7.0\vcredist文件夹中的
2021-05-19 08:43:40
238
原创 Qt笔记22:样式表相关问题
(1)子类设置样式表不生效,是因为需要设置一个属性setAttribute(Qt::WA_StyleBackground, true);(2)样式表中涉及到命名空间的用–代替::namespace ns { class MyPushButton : public QPushButton { // ... } } // ... qApp->setStyleSheet("ns--MyPushButton { background: yellow;
2021-05-19 08:42:26
258
原创 Qt笔记19:合理在头文件中使用类声明(class)
建议在cpp中包含头文件,在include文件中类使用class声明,一方面避免重复包含,提高编译效率;另一方面避免形成包含闭环,运行时找不到
2021-05-19 08:36:45
1283
原创 Qt笔记18:qt拖拽数据QMimeData
Qt qt拖拽数据QMimeData,可以重写QMimeData mimmData(const QList<QListWidgetItem>)const;方法
2021-05-19 08:35:16
741
原创 Qt笔记17:Qt如何使用Json传输图片(使用Base64编码)
我们有时候会用json传输数据,那么如何使用json传输图片呢,这里使用Base64编解码。(1)发送放编码://从图片文件中读取QByteArray img = file.readAll();//转换成base64编码QByteArray img64 = file.readAll().toBase64();//打包进jsonjsonObj.insert("img", QJsonValue::fromVariant(img64));(2)接收方解码://从json中读取为base64
2021-05-19 08:31:40
2442
原创 Qt笔记16:继承QGraphicsItem不能检测到鼠标事件解决方法
问题:继承QGraphicsItem不能检测到鼠标事件原因:有可能是边界方法重写的不对[pure virtual] QRectF QGraphicsItem::boundingRect() const解决:在子类中重写QRectF boundingRect()方法
2021-05-19 08:28:22
1337
原创 Qt笔记15:qt如何优雅的退出子线程
//优雅的退出线程if(thread->isRunning()){ thread->quit();//退出线程 thread->wait();//等待退出 delete thread;//删除线程 delete networkObj;//删除对象}
2021-05-19 08:25:50
2926
原创 Qt笔记14:Qt网络编程
(1) 客户端本地可以连接服务器,局域网不能连接问题:防火墙端口、杀毒软件(2) 如果把网络数据收发放到子线程里,线程while(1)循环很快,在该循环中,循环过快,导致connect来不及处理数据,使用waitForReadyRead()将循环进行阻塞,当有数据读入时取消阻塞,进入下一轮循环。尽量不要使用死循环,可以用信号或者定时器。...
2021-05-19 08:23:54
184
原创 Qt笔记13:qt中多线程之一(MovetoThread方法)
QT多线程有两种方法实现1、继承QThread,子线程内容在重写的run方法里执行,启动线程用start(),run()方法中尽量不使用死循环,run()方法中要调用exec()才能启动事件循环;2、继承QObject类,然后使用movetoThread()方法,连接线程的started()信号,在槽中处理子线程的内容。在新的版本中,官方更推荐第2种方法,第2种方法的使用如下://(1)创建操作对象,该类继承自QObject类MyTableNetworkObject networkObj;//(
2021-05-18 08:55:09
605
原创 Qt笔记12:qt非阻塞延时
非阻塞的延时QEventLoop+QTimer延时五秒示例:QEventLoop eventloop;QTimer:singleShot(5*1000,&eventloop,&QEventloop::quit);eventloop.exec();
2021-05-18 08:45:14
644
原创 Qt笔记11:qt如何设置应用程序图标和可执行程序图标
我们使用Qt开发了桌面程序之后,很多时候要修改窗口标题和应用程序图标,那么如何来设置呢?1: 首先准备个ICO图标。注意只能是ico格式的图标,如果不是可以使用ps或者网页在线图标转换。例如:myapp.ico将myapp.ico放到工程目录下,课.pro同级目录即可(也可以放在别的路径,只要相对路径正确即可)2:用记事本新建个文件里面就写一行:IDI_ICON1 ICON DISCARDABLE “myapp.ico”保存改名为 myapp.rc文件并把它放到你的
2021-05-18 08:30:25
2585
原创 python判断文件夹是否存在,不存在则创建
import osdef create_not_exist_dir(path): if not os.path.exists(path): is.mkdir(path)
2021-04-08 16:08:04
492
原创 Windows逆向分析实战:使用CE+OD获取用户信息
序:很多想学软件逆向分析的朋友们,初学者往往看到一大堆的技术资料,直接就懵了。本文以一个简单的例子,演示一下使用CE+OD进行内存的获取,然后使用Qt进行界面显示,让初学者简单了解逆向分析的流程,并且一步步自己进行手动实现,让初学者有一些成就感,避免直接上来就是技术文档打击到学习的热情。一、准备工作:CheatEngine 简称CE 用来定位数据;Ollydbg 简称OD 用来动态调试;微信版本:3.1.0.67Qt:5.13.0用来开发界面(我喜欢用Qt做界面,习惯使用MFC的朋友们也可以使用
2021-03-17 11:47:19
5177
3
原创 Qt笔记10:如何使用qt计算屏幕物理尺寸
我们以计算A4纸在屏幕上显示的像素来进行示例:转换方式:显示器逻辑分辨率 = 像素/英寸 = 像素/(2.54 * 厘米) = 像素/(2.54 * 毫米 /10)像素= 分辨率 * 英寸 = 分辨路 * (2.54 * 厘米) = 分辨率 * (2.54 * 毫米 / 10) QScreen *screen = windowHandle()->screen(); qreal logicalDotsPerInch = screen->logicalDotsPerInch();//
2021-03-11 23:45:07
1340
原创 Qt笔记9:Qt中浮点数比较,安全的进行浮点数比较
由于计算机中数据的存储到最底层,只有1和0,所以会有一个精度的问题。我们在比较浮点数的时候,在A>B或者A<B的时候,我们可以正常用大于号(>)或者小于号(<)进行比较;但是我们在判断两个浮点数是否相等的时候,则不能直接用==号进行比较,因为这样会有风险那么如何安全的进行浮点数的比较呢,就用到了Qt的一个方法bool qFuzzyCompare(double p1, double p2),使用方法如下: double value1 = 5.323285194326; dou
2021-03-11 23:39:03
4499
原创 Qt笔记8:如何遍历树形结构(选择遍历,节点选择效果)
用到的信号是void itemChanged(QTreeWidgetItem* item, int column);我们在使用Qt的树控件QTreeWidget的时候,经常会遇到需要检查当前节点的选中状态;一般一个节点有三个状态:A:当前节点以及所有子节点都被选中B:当前节点以及所有子节点都未被选中C:当前节点的子节点有被选中的,也有未被选中的根据这三个状态我们知道,当前节点状态会影响父节点的状态,同时呢,当前节点也会收到子节点的影响。根据以上特性,会用到递归算法,有些朋友可能代码写着写着就迷
2021-03-11 23:28:52
1788
原创 Qt笔记7:QString采用科学计数法、非科学计数法显示
在Qt中,界面经常会用来显示一些结果,当显示的数据值过大时,QT会直接转换成科学计数法显示。但是在有些项目中,对数据有特定的显示要求,有时候需要用科学计数法显示,有时候一定要用非科学计数法显示。那么该如何设置呢我们可以通过下面的方式设置: double value =987654321.12345; //显示科学计数法:'e'表示科学计数法,2代表保留两位小数 QString::number(value, 'e', 2); //显示非科学计数法:'f'表示非科学计数法,2代表保留两位小
2021-03-11 23:18:05
7088
原创 Qt笔记6:堆和栈的区别
看了理论如果不清楚可以看下边代码: int a = 0; //全局初始化区 char *p1; //全局为初始化区 int main(int argc, char *argv[]) { int b; //栈区 char s[] = "abc"; //栈区 char *p2; //栈区 char *p3 = "123456";//"123456/0"在常量区,p3在栈区 static int c =.
2021-03-11 23:11:10
748
原创 Qt笔记5:如何把按钮设置默认状态
想要实现如下图确定按钮的默认选中状态:方法:在Qt Designer点击确定按钮,然后在右侧属性栏找到default这个属性,按下图进行设置,也可以在代码中设置。
2021-03-11 23:02:34
2413
原创 Qt笔记4:QTableWidget排序功能
QTableWidget排序功能(1)、注意默认是按照文本方式来排序的,对于想要数据排序的设置如下:方法一:设置QTableWidgetItem的setData方法,第一个参数是Qt::EditRole, int value = 20; QTableWidgetItem *item = new QTableWidgetItem; //这样设置,排序是按照数字来排 item->setData(Qt::UserRole,value);方法一有一个问题,当double数据太长时,数据类型会自
2021-03-11 22:58:58
7094
13
原创 Qt笔记3:MySQL的my.ini文件中文乱码或不识别
MySQL的my.ini文件中文乱码或不识别,解决步骤:(1)MySQL的my.ini文件只支持 编码格式为ASIN,要将my.ini设置为ASIN格式(2)Qt中写入my.ini文件要进行设置,设置为GBK格式,如下图
2021-03-11 22:47:17
386
原创 Qt笔记2:如何处理路径中的空格和中文
(1)空格:路径加双引号 (2)中文:toLocal8Bit ...
2021-03-11 22:42:11
538
原创 Qt笔记1:Qt中文显示乱码如何处理
中文显示乱码问题处理方式在文件头部加入 #pragma execution_character_set(“utf-8”)如图:
2021-03-11 22:36:25
209
原创 在Qt中使用大漠插件示例(版本3.1233),包含下载、注册、使用教程
序、大漠插件简介大漠综合插件(dm.dll)采用vc6.0编写,是一款集前后台,文字识别,图色,键鼠,窗口,内存,DX,Call等功能于一身的综合插件。主要用于按键精灵、简单游、易语言等辅助制作工具,具有识别速度超级快的特点! 采用COM接口编写,适用于所有语言调用。文本主要介绍下大漠插件的下载、注册和使用,希望能帮到需要的朋友们。一、下载1、下载:目前网上资源鱼龙混杂,不好辨别,我这里放出来验证过的最后一个免费版本 [大漠插件3.1233](https://download.youkuaiyun.com/d
2021-03-10 09:48:32
12844
原创 Eigen3编译教程(eigen3.3.9+vs2017+cmake超详细、末尾有编译结果)
0简介Eigen是一个高层次的C ++库,有效支持线性代数,矩阵和矢量运算,数值分析及其相关的算法。Eigen是一个开源库,从3.1.1版本开始遵从MPL2许可。Eigen目前最新的版本是3.3.5,除了C++标准库以外,不需要任何其他的依赖包。Eigen使用的CMake建立配置文件和单元测试,并自动安装。如果使用Eigen库,只需包特定模块的的头文件即可。Eigen适用范围广,支持包括固定大小、任意大小的所有矩阵操作,甚至是稀疏矩阵;支持所有标准的数值类型,并且可以扩展为自定义的数值类型;支持多种矩
2021-02-27 20:43:24
11945
6
原创 Window7下使用VS2017编译VTK-8.2.0的64位动态库教程(超详细)(附编译的库包含32位和64位)
本文使用VTK-8.2.0和VS2017进行编译,并制作本编译教程,提供给新入门的朋友们参考;喜欢动手又有时间的朋友们可以参照本文进行VTK的库的编译,也可以下载我编译好得(在文章末尾,包括vtk-8.2.0的32位库和64位库,vtk-9.0.1的32位库和64位库)。源码下载:首先下载VTK-8.2.0源码包编译工具是cmake:cmake3.9.12编译过程1、创建目录D:/Demo/VTK作为编译根目录,将下载的源码解压到根目录,另外在根目录下建立两个文件夹build、install,分
2020-12-29 20:07:38
866
2
原创 Window7下使用VS2017编译VTK-9.0.1的64位动态库教程(超详细)(附编译的库包含32位和64位)
前言:是一个开源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。今天编译最新版VTK-9.0.1,并整理成编译教程,提供给新入门的朋友们参考;我使用vs2017编译VTK的64位库,编译32位库的过程和这类似。可以参照本文进行VTK的库的编译,也可以下载我编译好得(在末尾,包括64位和32位)。一、源码下载下载VTK-9.0.1源码编译工具是cmake,官网进行下载:cmake3.9.12二、编译过程1、创建目录F:/Demo/VTK作为编译根目录,将下载的源码解压到根目录,另外
2020-12-26 17:24:26
1300
原创 VS2017 64位 osg+osgworks+bullet3+osgbullet编译教程(超详细、附生成的库(文末尾自取))
VS2017 64位 osg+osgworks+bullet3+osgbullet编译教程(超详细、附生成的库(在文末尾))最近因为工作需要编译了osgbullet,网上教程比较乱,没有一个系统的编译说明,我结合网上资料,进行编译,梳理出来本篇教程,超详细的。
2020-12-18 13:41:35
1592
4
ICOFormat(32位+64位)(Photoshop制作ICO图标插件)
2021-03-29
Qt实现自动发消息源码(Qt中使用大漠插件3.1233)
2021-03-10
VS2017 32位 VTK-8.2.0编译生成库 静态库 动态库 lib文件和dll文件
2020-12-29
VS2017 64位 VTK-8.2.0编译生成库 静态库 动态库 lib文件和dll文件
2020-12-28
VS2017 32位 VTK-9.0.1编译生成库 静态库 动态库 lib文件和dll文件
2020-12-26
VS2017 64位 VTK-9.0.1编译生成库 静态库 动态库 lib文件和dll文件
2020-12-26
vs2017_Community+vs2019_community
2020-12-19
VS2017 64位 osg+osgworks+bullet3+osgbullet编译生成库 动态库 静态库 bullet碰撞检测
2020-12-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人