- 博客(89)
- 问答 (8)
- 收藏
- 关注
原创 【QML】QML访问C++
如上是访问c++中的属性的值,然后显示在qml控件上的。但是这个样子的话,属性点无法补齐,不太方便。这个样子就可以访问该类的成员了。记得在qml文件中导入该类。这个是访问类的成员函数的。这个要导入这个头文件。
2025-12-11 19:24:28
302
原创 【QML】C++访问QML控件
这些就可以使用obj->findChild<QObject *>(“rect”);根据对象的名字找到对应的对象,然后使用QQmlProperty修改对的应的属性了。如上图可知,在qml文件里面的qml控件的属性已经被cpp文件的中c++修改了。如上图,触发了qml中的信号后,就打印出c++中的槽函数。如上图,信号和函数和返回值都触发成功了。先创建一个c++类,然后写一个槽函数。main.cpp中加入以下代码。main.cpp文件。
2025-12-10 21:25:44
339
原创 【QML】弹窗控件、类
组件 适用场景。Popup 上下文菜单、临时提示(如工具提示)、轻量级浮动面板(如搜索框自动完成)混合使用:某些场景下可组合使用(如 Popup 中嵌套 Dialog 实现多级弹窗)。优先选 Dialog:当需要标准化交互流程(如确认/取消)、强制用户响应时。Dialog 关键操作确认、表单提交、系统级通知(需用户明确响应)优先选 Popup:当需要灵活定位、快速轻量交互或自定义浮动内容时。
2025-11-30 22:19:57
169
原创 【QML】QML的事件系统
注意拖拽区域和被拖拽区域的先后顺序,先出现的在上面,后出现的在下面。下面的界面是拖拽后,可以自己复制 代码玩一下。事件系统:鼠标事件、键盘事件、拖拽事件。
2025-11-26 20:04:18
167
原创 【QML】基本控件
继承自 QtObject,是所有可视组件(如 Rectangle、Button)的基类。比 QtObject 多了 布局、渲染、事件处理 等功能。动态对象管理(类似 QObject 的父子层级)信号与槽(signal 和 onSignal)属性绑定(property)
2025-11-23 23:31:33
38
原创 【QML】QWidget和QML的区别
使用OpenGL/Vulkan/Metal等图形API。属性绑定系统:变更时只需更新依赖链,而非全量重绘。GPU保留变换矩阵:旋转/缩放等变换由GPU计算。3D 界面元素 (与 Qt 3D 集成)传统桌面控件 (菜单/工具栏/对话框)复杂文本编辑 (QTextEdit)低端硬件环境 (无 GPU 加速)需要精确像素级控制的传统桌面UI。需要60fps流畅度的场景。需要复杂自定义绘制的应用。具有复杂动画效果的界面。需要3D混合渲染的界面。流畅的动画和过渡效果。高 DPI 屏幕适配。
2025-11-23 20:08:25
64
原创 【C++】std::move与std::forward函数的区别
简介1. std::move(): C++11 引入的一个函数,用于将一个左值转换为右值引用,从而触发对象的移动语义。移动操作的发生条件:只有当右值引用被用于构造/赋值时(例如传递给移动构造函数或 std::string 的移动赋值运算符),才会真正“移动”资源。// 无实际移动,s 仍然有效,这个是不会触发构造函数,资源还在的。左值:有一个明确的地址,可以被取地址的值,可以被赋值的变量(如变量、数组元素、解引用指针)。(这个是和引用一样的,都是共用一个的值,上面的打印就可以知道。
2025-11-20 23:16:53
168
原创 【c++】静态函数
普通成员函数的 const 修饰的是 this 指针(即 T* const this → const T* this)在C++中,静态函数不能直接访问非静态成员变量或成员函数,因为静态函数缺少访问非静态成员所需的 this上下文。方案1:使用std::function和std::bind (将成员函数包装成普通的函数)没有 this 指针 → 无法应用 const/volatile 修饰。volatile 同理(修饰 this 指针的访问方式)
2025-11-17 21:01:45
218
原创 【c++】const修饰的成员函数
底层实现:编译器将 this 指针从 DataProcessor* 转为 const DataProcessor*真相:通过 const_cast 可临时去除const(需谨慎)真相:可通过 mutable 突破限制(特殊场景使用)误区2:const 函数不能调用任何非const函数。误区1:const 函数内完全不能修改数据。const 成员函数的本质。
2025-11-17 19:57:39
162
原创 【shell】变量内容的增加、删除、替换、测试取代
echo ${变量名/关键字/新字符串} ==>从最左侧开始替换第一个符合条件的关键字。echo ${变量名//关键字/新字符串} ==>从最左侧开始替换所有符合条件的关键字。echo ${变量名##关键字} ==>从最左边删除符合条件的最长关键字。echo ${变量名%%关键字} ==>从最右边删除符合条件的最长关键字。echo ${变量名#关键字} ==>从最左边删除符合条件的最短关键字。echo ${变量名%关键字} ==>从最右边删除符合条件的最短关键字。变量内容的替换与/的数量有关。
2025-11-11 20:23:09
274
原创 【VS】VS .h 和 .cpp 切换快捷键设置
选择 Visual C++ 6 键盘映射方案。在 显示命令包含 中 输入如下命令。打开VS后依次选择如下。
2025-08-14 19:53:26
183
转载 【QT】【转载】QTableWidget用法总汇
tableWidget->horizontalHeader()->setResizeMode//把给定列设置为给定模式。
2024-12-16 10:49:23
369
原创 【C++/STL】std::move和移动迭代器
按值传递结合移动语义适用于需要获取对象副本并且希望利用移动操作提高性能的情况,例如在函数返回大型对象时,按值返回可以利用移动语义避免复制开销。const&传递适用于函数只需要读取对象的值而不需要修改对象,并且不希望改变对象状态或所有权的情况,比如在函数中只是输出对象的某些属性时。比如,如果 source 中的元素被移动到 des之外的某个地方,那么最后它们既不在 source 中也不在 des 中,因此它们实际上就丢失了。当使用const&传递时,传递的是对象的常量引用,不会触发移动语义。
2024-11-14 15:48:17
442
原创 【Linux】Linux 命令awk和sed的简单介绍
在前面计算文件中第一列数字总和的例子中,END{print sum}就是在处理完所有行之后,打印出变量 sum的值,也就是第一列数字的总和。在这个命令中,$1 > 3是模式(pattern),{print $0}是当行满足模式时执行的命令,这里 $0表示整行内容。在这个例子中,BEGIN{sum = 0}初始化了变量 sum为0,这个操作在处理文件中的数据之前就已经完成。假设我们要计算一个文件中某列数字的总和,我们可以在BEGIN块中初始化一个变量来存储总和。
2024-11-13 20:32:20
588
原创 【Qt】自定义弹窗
设置透明窗口后就看不见窗口了。当然,也可以使用其它的控件填满。在form.cpp文件中修改如下代码,使用QPainter在子窗口中绘制,不然使用。
2024-11-13 17:27:53
232
原创 【Qt】Qt的坐标转换(mapToGlobal)
每次点击按键,生成的子窗口在屏幕的左上方,使用**this->pos()**转换的坐标后,子窗口在父窗口的左上方。使用mapToGlobal转换后,每次打开都在按键的左上方。加上一些控件的坐标的计算后,就可以每次打开都在控件的下面了。
2024-07-22 21:03:46
2130
原创 【c++】文件操作
在文本模式下(即没有指定 std::ios::binary),std::ifstream 会对输入进行特殊处理,比如转换换行符(在Windows系统上,可能会将 \n 转换为 \r\n 或将 \r\n 转换为 \n)。在C++中,将文件流的位置指针移动到文件的任意位置可以通过std::fstream、std::ifstream或std::ofstream中的成员函数seekg()和seekp()来实现。截断模式( std::ios::trunc):在打开文件时,如果文件已经存在,则清空其内容。
2024-07-19 16:30:03
1018
原创 【Qt】QTabWidget的tab页隐藏问题
来隐藏一个 QTabWidget 的特定标签页可能不会达到预期的效果,因为 setHidden(true) 是用于隐藏整个 QWidget 的,而不是隐藏 QTabWidget 中的一个标签页。如果你确实想要隐藏整个 QWidget,那么 setHidden(true) 是正确的用法,但它不会隐藏 QTabWidget 中的标签页,而是隐藏整个 QWidget 对象。请注意,indexOf 方法用于获取指定 QWidget 的索引。
2024-07-10 20:56:11
5530
原创 【Qt】QCoreApplication::processEvents的简单使用
运行过程中点击按键1 后点击按键2,然后再点击按键1。整个过程,按键是可以正常的点击的,不会出现未响应的情况。
2024-06-17 16:52:32
1075
原创 【Qt】 new成功,但是没有进入到构造函数。
如上,在两个工程中,有同样的内部类,但是windows上输出的结果和在linux上的输出的结果是不同的。在linux中,如果出现同样的内部类,虽然是在不同的内部类内使用,但是还是会有问题的,这样。以上两个工程是封装成库的,并被下面的程序调用。当然了,new不成功的情况还是有很多种的。NameTest01工程中。NameTest工程中。
2024-06-05 14:38:41
492
原创 【linux】exec相关函数的简单使用
后 使用execl() 函数替换成cppexecTest程序运行,因此子进程不再执行原来的代码,所以子进程不会调用。以上的6个函数都是标准C库的函数,它们实际在Linux系统运行时是调用下面这个Linux系统的标准函数。e(environment) 存有环境变量字符串地址的指针数组的地址。p(path) 按PATH环境变量指定的目录搜索可执行文件。l(list) 参数地址列表,以空指针结尾。v(vector) 存有各参数地址的指针数组的地址。
2024-05-13 10:01:18
464
原创 【c++线程】condition_variable的简单使用
因为wait系列函数一般是在临界区中调用的,为了让当前线程调用wait阻塞时其他线程能够获取到锁,因此调用wait系列函数时需要传入一个互斥锁,当线程被阻塞时这个互斥锁会被自动解锁,而当这个线程被唤醒时,又会自动获得这个互斥锁。如果没有线程在等待,则还函数不执行任何操作。因此wait系列函数实际上有两个功能,一个是让线程在条件不满足时进行阻塞等待,另一个是让线程将对应的互斥锁进行解锁。尝试用两个线程交替打印1-100的数字,要求一个线程打印奇数,另一个线程打印偶数,并且打印数字从小到大依次递增。
2024-05-10 14:02:46
235
空空如也
QAxObject怎么样在wps中的A1显示一张图片
2024-05-28
QT Modbus串口通讯
2023-11-28
哪位知道QTableView 的永久编辑模式怎么样设置吗?
2022-05-24
这个是部分代码,如果继续执行下去会不会内存泄漏啊?
2022-03-19
qRegisterMetaType<>("");注册信号槽类型大小错误
2022-02-19
csv导出的数据如果含有空格数据数据字段,导回就不成功
2021-11-24
为什么输入相关的代码工程文件 中还是无法生成.pdb文件啊?(Qt create中)
2021-11-08
QT文件的读写(文件打开和文件不打开的情况)
2021-10-09
导出csv字符变量中的值有逗号
2021-08-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1