自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(397)
  • 问答 (1)
  • 收藏
  • 关注

原创 C++20协程——最简单的协程

分别用于控制协程开始、协程即将结束时是否要挂起(挂起后会转移执行权,可以转移给调用者,或者其他协程)。一个函数返回了“协程接口”,那么这个函数就是一个协程。是标准库提供的两个awaitable(可等待体)。函数(协程)执行时,编译器会在代码块最前面执行。(awaitable是另外的,非必须。之前(或者在异常跳出之前)执行。

2024-12-09 23:16:07 269

原创 Windows核心编程笔记——DLL基础

事实上,该DLL几乎完全丧失了它的DLL身份:对进程中的线程来说,该DLL中的代码和数据就像是一些附加的代码和数据,碰巧放在进程地址空间中。导入段只包含了DLL的名称,不包含DLL的路径。因此,除非知道可执行模块的开发人员与DLL模块的开发人员使用的是相同的工具包,否则应该避免从DLL中导出C++类。在应用程序或其他DLL调用一个DLL中的函数之前,必须将DLL的文件映像映射到调用进程的地址空间中。在系统将一个DLL的文件映像映射到调用进程的地址空间之后,进程中所有的线程都可以调用该DLL中的函数。

2024-11-07 10:30:31 806

原创 VS2022配置调试Qt源代码

需要保证源代码和项目使用的版本匹配,符号需要注意是64位还是32位,并且用msvc。

2024-11-01 20:16:20 800

原创 Windows核心编程笔记——内核对象

本节讨论的不是具体某一种类型的内核对象,而是所有内核对象共通的一些特性。

2024-10-27 19:15:35 1044

原创 cmake Qt模板

这里采用了FILE GLOB自动添加所有cpp、h,这样有利有弊,也可以直接把文件写在。

2024-10-16 16:49:58 620

原创 nasm x64汇编:输入数字比较大小并打印结果

Linux下x64汇编。输出结果:num1num1 dq 42%dint32ddeaxrax。

2024-10-15 16:49:51 285

转载 Windows/Linux x64汇编函数调用约定

x86:又名 x32 ,表示 Intel x86 架构,即 Intel 的 32位 80386 汇编指令集。x64:表示 AMD64 和 Intel 的 EM64T ,而不包括 IA64。至于三者间的区别,可自行搜索。x64 跟 x86 相比寄存器的变化,如图:从图上可以看到,X64架构相对于X86架构的主要变化,是将原来所有的寄存器都扩大了一倍,例如EAX现在扩充成RAX,同时,又新增加了从R8~R15这8个64位的寄位器,有点RISC的味道(RISC特点就是寄存器多)。

2024-10-15 15:51:55 223

原创 C++20投影、范围与视图

使用C++20中的基于范围的算法,可以有效地解决这些问题,甚至可采用多种方法解决它们。可选的投影参数甚至可以是指向(无参数)成员函数的指针,或者是指向(公共)成员变量的指针。视图允许改变后续算法步骤看待给定范围的方式、看到这个范围的哪些部分以及/或者查看这些部分的顺序。基于范围的算法在内部使用的仍然是迭代器。顾名思义,范围工厂不是适配给定的范围,而是生成一个新的范围。实际上,每个视图就是一个范围,但并非所有的范围都是视图。例如,容器是一范围,但它不是视图,容器中的元素越多,复制和销毁元素的开销就越高。

2024-10-13 12:03:37 1175

转载 windows开启自动dump

将上述内存保存为*.bat,然后执行,就开始了自动抓dmp文件的功能,只要有程序崩溃,就会在指定的目录下生成。如果程序崩溃没有产生 dump 文件则可能是没有权限,将目录修改为有权限的目录即可。

2024-10-10 19:22:25 228

原创 缓存淘汰器类

【代码】缓存淘汰器类。

2024-10-10 14:04:15 143

原创 Qt源码阅读——事件循环

源码版本:Qt 6.5.0下面来跟踪一下它的实现。

2024-10-06 16:50:35 1250 1

原创 解决TortoiseGit文件夹图标不见的问题。

把里面的TortoiseGit开头的前面多补几个空格,让它们排到靠前的位置,然后重启电脑。据说是windows只有前11/15个图标有效,虽然好蠢但是目前大家都在这样做,真无语。

2024-10-05 10:05:04 373

原创 QStyle简介

QStyle类的内容非常庞大,本文旨在对各部分一句话概括,方便建立整体认知。更详细全面的内容另请参见QStyle文档。

2024-10-02 13:42:53 769

原创 QStyle文档

QStyle文档

2024-10-02 12:37:47 897

原创 Unicode与ANSI字符串的转换(MultiByteToWideChar与WideCharToMultiByte)

【代码】Unicode与ANSI字符串的转换(MultiByteToWideChar与WideCharToMultiByte)

2024-09-25 10:34:01 317

转载 C++17 std::filesystem 用法指北

需要C++17或以上的支持.本文将针对常用的场景,对。

2024-09-21 17:17:01 843

原创 C++移动语义

移动语义,如果想要理解它,那么你的重点不应放在“移动”,而在于“语义”。因为移动,是由移动构造函数、移动赋值运算符决定的,是否真的发生移动了、如何实现移动,都要看具体实现。不论是类设计者还是类使用者,关键都在于遵照语义。下面一步步帮你理解。

2024-09-14 19:37:29 444

原创 C++ lambda闭包消除类成员变量

消除了——通过将它们闭包到lambda表达式中,然后将这个lambda存起来重复使用。如果用引用捕获,栈变量会释放导致非法访存;可以借助函数式编程思想,来消除一些不必要的类成员变量。拿到一个类,一看成员变量好几十个,就问你怕不怕?在面向对象编程时,常常要添加类成员变量。然而类成员一旦多了之后,也会带来干扰。就无法修改值捕获的变量。

2024-09-11 22:33:26 545

原创 CMake创建OpenGL项目

在编译第三方库时,最好都用CMake来构建,这样都会有。

2024-09-09 10:01:16 407

原创 OpenGL——场景动画

画一个运动的三角形,使用了统一变量。用获取指向变量offset的指针,用将x的值复制给offset。

2024-09-07 16:24:32 292

原创 OpenGL——画一个填充的三角形

中指定的类型是三角形。

2024-09-07 16:01:33 304

原创 OpenGL——检测OpenGL和GLSL错误

【代码】OpenGL——检测OpenGL和GLSL错误。

2024-09-07 15:22:47 711

原创 OpenGL——着色器画一个点

内置变量用来设置顶点在3D空间中的坐标位置,并将其发送到下一个管线阶段。GLSL数据类型vec4用来存储四元组,适合用来存储坐标,四元组的前3个值分别表示x、y、z坐标,第4个值在这里设为1.0(暂时不用了解)。本例中,顶点坐标被硬编码为原点。

2024-09-07 11:20:30 345

原创 Qt圆角QWidget

【代码】Qt圆角QWidget。

2024-09-06 17:11:15 203

原创 OpenGL——第一个程序

【代码】OpenGL——第一个程序。

2024-09-02 10:02:24 259

原创 C++小技巧——指针实例容器

这样,可以在初始化时将需要用的对象,特别是那些几乎只会有一个实例的类,会方便许多。实际开发中,两个不同的类对象有时要完成数据交互,需要能够获取到对方,如何获取?此处的思路是引入一个中间对象,单例的容器,用于存取变量。

2024-08-27 10:58:14 317

原创 QCombobox控制下拉列表位置

的位置是默认位置,也就是左对齐)

2024-08-20 20:46:44 433

原创 QtQuick 布局管理-布局管理器

在一个布局管理器中横向排列两个矩形,当拉伸程序窗口时,左边距形可以从50x150变化到300x150,右边矩形可以从100x150变化到∞x100。与定位器不同,布局管理器不仅进行布局,而且会改变项目的大小,所以更适用于需要改变用户界面大小的应用。布局管理器的大小约束可以用来确保窗口大小不会超过约束条件,还可以将布局管理器的约束设置到窗口项目的。属性来设置当前显示的项目,索引号对应布局管理器中子项目的顺序,从0开始。为了将布局管理器与窗口进行关联,可以为布局管理器添加锚。,此时,有效的最佳高度会从。

2024-08-11 16:59:31 794

原创 QtQuick 布局管理-基于锚的布局

另外,还可以通过JavaScript改变锚,但是一定要注意操作的顺序,否则可能出现奇怪的结果。锚定系统也允许为一个项目的锚指定边距(margin)和偏移(offset)。其中baseline是一条假想的线,文本坐落在这条线上。Qt Quick锚定系统允许不同项目的锚线之间建立关系。对于没有文本的项目,baseline与top相同。边距指定了项目锚到外边界的空间量,偏移则允许使用。类型,以便在运行时修改项目的锚,它需要在状态。,所以所有可视项目都可以使用锚进行布局。不能修改项目的边距,需要时可以使用。

2024-08-11 16:02:13 341

原创 QtQuick 布局管理—定位器

Column、Row、Grid和Flow中会附加一个Positioner类型的对象作为顶层子项目,它可以作为定位器中的子项目提供索引等信息。每一个项目都会被放置在网格左上角(0, 0)的位置。通常会包含在一个定位器中,用于直观地对Repeater产生的众多委托项目进行布局。这里使用了一个矩形作为委托,在其中通过index索引属性显示了每个子项目的编号。在Repeater中创建的项目数量可以通过count属性获得,该属性是只读的。定位器(Positioners)是一个容器,可以管理其中子项目的布局,包括。

2024-08-11 15:18:50 865

原创 Qt解析XML

结果发现低估了难度,VS会间接引入许多目录。略有不甘,暂且作为一个解析XML文件的示例。),配合cppclean来发现多余的。本来想解析VS的项目配置文件(

2024-08-10 20:50:52 505

原创 QtQuick TextEdit

这里将focus设置为true,使TextEdit项目接收键盘输入。TextEdit没有提供滚动条、光标跟随等通常行为。TextEdit用于显示多行、可编辑的格式化文本。元素提供滚动,实现光标跟随。可以显示纯文本、富文本。,暂时感觉不是很重要。

2024-08-10 15:07:31 201

原创 QtQuick TextInput

TextInput默认没有漂亮的外观。一般吧直接使用TextInput本事,而是自定义一个组件爱你,外部直接使用新的组件代替TextInput。属性可以使用鼠标选取TextInpu中的文本。在Qt 6.4以前该属性默认为false,之后的版本默认为true。信号处理器,而且只有当所以必须输入的字符都输入后,按下回车键才可以调用该信号处理器。TextInput还提供了许多和文本选取有关的方法,例如用于复制的。可以分别获取鼠标选取的文本块前后的光标位置。,它们都会在回车键按下时被调用。获取选中的文本,使用。

2024-08-10 14:46:50 455

原创 类模板实现实现Qt click/hover自定义操作

不能在类模板中使用,导致我们不能在模板类中设置信号。不过也不是刚需,上面的场景回调函数足够用了。/QSS只能实现常规态、按下态的图标切换,hover态的图片设置无效。注意,只能通过组合的方式。如果通过多继承的方式,例如让模板类继承。然而,总要为这些鸡毛蒜皮的操作“小动干戈”会让人不爽。如果一定要使用信号,那么就要用一个类来代理信号的发送。常常会需要实现点击/hover时修改图片,可能是一个。解决思路无非是安装事件过滤器、自定义类并重实现事件。这里选择更通用的类模板来简化操作。不支持多重继承,会有问题。

2024-08-06 11:49:22 1171

原创 QtQuick Text-文本格式和超链接

时可以自动判定是否以样式文本进行显示,这是通过检查文本是否存在HTML标签来判定的,通常情况下可以正确判断,但是并不能保证绝对正确。处理器,它会在用户单击了文本超链接时被调用。超链接必须使用富文本或者HTML格式。解析器很严格,需要标签必须正确嵌套。其中link提供了被单击的特定链接。Text项目提供了一个。

2024-08-03 13:51:54 295

原创 AutoHotKey 获取鼠标实时位置

文件,写入示例代码,双击启动脚本即可。安装autohotkey,创建。

2024-08-03 12:39:07 868

原创 QtQuick Text-文本样式

属性可以设置文本的样式。

2024-08-03 00:01:00 290

原创 QtQuick Text-对齐方式

在这种情况下,所以的对齐都是等价的。如果想让文本处于父项目的中间,那么可以使用。对于没有设置Text大小的文本,Text的大小就是包含文本的区域。分别用来设置文本在 Text项目区域中的水平、垂直对齐方式。

2024-08-02 22:41:33 266

原创 QtQuick Text-文本省略

【代码】QtQuick Text-文本省略。

2024-08-02 22:20:04 287

原创 Qt弹窗实现退出渐变动画

【代码】Qt弹窗实现退出渐变动画。

2024-07-30 20:21:54 268

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除