- 博客(72)
- 资源 (4)
- 收藏
- 关注
原创 【Qt】 Data Visualization
有棒柱被选中时,通过QBarDataProxy 的itemAt()函数可以获取这个棒柱关联的QBarDataItem 对象,再通过函数QBarDataItem::value()可以获取棒柱的数值。DataVisualization 的功能虽然不能和一些专业的三维图形类库(如 VTK)的相提并论,但是它操作简单、易用,对于简单的三维数据显示是比较实用的。在数据代理里设置的行坐标标签与每一行数据是对应的,如果删除了某一行的数据,这个行坐标标签也会被删除。函数的返回值是一个QWidget对象指针。
2025-02-17 17:35:27
684
原创 【QT】pro文件解释
QT工程的pro文件,在创建工程时由QTCreater自动创建,可以添加内容,增加库文件的声明,包含路径、预处理器定义,生成目录,输出中间目录等。
2024-12-10 10:46:07
358
原创 【VTK】一:VS项目配置VTK
将bat放到Debug或Release下运行,在txt中出现所有lib文件名,将这些添加到项目依赖中。使用vtk编译后生成的Debug和Release库。
2024-12-10 09:20:53
290
原创 【C++】基础问题
一种创建型的设计模式,改模式的主要目的就是确保某个类有且只有一个实例存在三个关键点1、单例类只能有一个实例2、单例类必须自己创建自己唯一的实例3、单例类必须给所有其他的对象提供这一实例外界需要获取并使用这个单例类的实例,但是由于该类的构造函数是私有的,外界无法通过new去获取他的实例,那么就必须提供一个工友 的方法,该方法创建或者获取它本身的静态私有对象并返回两种实现方式懒汉式:在需要的时候去实例化存在线程安全问题加锁——如果有很多线程的话,可能会造成大量的线程阻塞。
2024-12-03 14:51:14
1000
原创 QTreeWidgetItem清空item所有子节点
在Qt框架中,QTreeWidgetItem 用于表示树形控件(QTreeWidget)中的一个项。清空一个 QTreeWidgetItem 的所有子节点,可以使用 QTreeWidgetItem 的 takeChildren() 方法。这个方法会移除并返回所有子节点,但不会删除它们,只是从当前项中移除。takeChildren() 返回的是一个 QList<QTreeWidgetItem*>,包含所有被移除的子节点。,可以像上面那样使用 qDeleteAll() 来删除它们以避免内存泄漏。
2024-09-30 16:02:56
784
原创 【QT】QSharedMemory 打包后exe只运行一个实例
在 Qt 框架中,QSharedMemory 类用于在多个进程之间共享内存。当创建一个 QSharedMemory 对象并指定一个键(在这个例子中是 “onlyOne”)时,正在尝试访问或创建一个与该键相关联的共享内存段。使用 lock() 和 unlock() 方法来确保在读写共享内存时没有其他进程同时进行这些操作。使用 data() 方法获取一个指向共享内存数据的指针。当不再需要共享内存段时,可以使用 detach() 方法断开连接(如果之前已经连接了),并使用 remove() 方法删除它。
2024-06-12 17:19:47
570
原创 【QT】QSettings读取中文乱码
通过初始化 QTextCodec 来影响整个 Qt 应用程序的编码处理。在应用程序的 main() 函数中,设置默认的文本编解码器为 UTF-8 可以帮助解决乱码问题。在Windows平台,当使用QSettings::NativeFormat时,路径名必须使用"/"作为分隔符。
2024-06-12 16:39:39
1431
原创 【QT】将字符串条件转换为一个可以编程检查的条件
1-100、-100–10、1-200 、> -20 、 , 20 等…在校验时,默认条件是符合逻辑的,不会出现非常规的条件。
2024-06-06 09:31:31
471
原创 PhysX——源码编译
运行PhysX需要两个编译器的支持,CMake 3.12 或以上版本以及Python 2.7.6 版本。进入工程的 physx 目录,运行generate_projects.bat来生成 VS 解决方案。其中根据使用的Visual Studio的不同版本进行选择编译运行。打开physx/compiler 下的vc16win64的目录如下。
2023-12-21 15:59:56
1145
原创 【QT】QGraphicsView和QGraphicsItem坐标转换
坐标转换QGraphicsItem和QGraphicsView之间的坐标转换需要通过QGraphicsScene进行转换QGraphicsView::mapToScene() - 视图 -> 场景QGraphicsView::mapFromScene() - 场景 -> 视图QGraphicsItem::mapToScene() - 图元 -> 场景QGraphicsItem::mapFromScene() - 场景 -> 图元QGraphicsItem::m
2023-12-20 09:57:41
841
原创 【QT】C++/Qt使用Qt自带工具windeployqt打包
运行项目debug或者release将运行后的可执行文件单独放到一个文件夹中根据项目使用的kits来选择Qt的打包工具打开工具后移动到exe文件夹下执行windeployqt xxx.exe预览图
2023-12-19 14:45:11
768
原创 【QT】解决QTableView鼠标点击合并单元格高亮显示问题
合并单元格是好的,说明合并没有问题,所以最简单的办法就是将单元格的状态恢复到初始的时候,在进行操作;在操作之前清除单元格合,然后再合并单元格;鼠标单击时只会选中当前行。
2023-12-19 14:39:47
645
原创 【QT】解决QTableView修改合并单元格内容无法修改到合并范围内的单元格
修改合并单元格的内容时,希望直接修改到合并范围内的单元格,Qt没有实现这个功能,需要自己写出 Delegate来实现。在使用的时候将Delegate设置对应的列或者行即可。
2023-12-19 09:42:47
756
原创 【QT】解决Qt发送信号指定重载
QSpinBox的valueChanged函数分为int和QString两种,存在函数重载,需让编译器加以区分。信号发送者找不到正确的信号函数。Qt5官方文档推荐使用的方式。
2023-12-04 11:57:53
800
原创 解决VS中文编译时出现:常量中有换行符
项目->右键属性->C/C++ -> 命令行,在下方输入框添加 /utf-8,就会在编译时采用utf-8编码来编译。,然后在有中文的情况的下,编译时会报错,真的很恶心。
2023-11-02 18:02:23
1004
原创 QtVariantProperty
在上述代码中,我们首先创建了一个名为MyObject的QObject子类,并创建了一个QtVariantProperty对象m_myProperty,将其关联到名为myProperty的属性上。接下来,我们定义了一个名为setMyProperty的槽函数,它接受一个QString参数并将其设置为m_myProperty的新值。最后,我们还定义了一个名为myPropertyChanged的信号,它在m_myProperty的值更改时发出,以通知其他对象属性已经更改。
2023-07-25 16:50:10
802
原创 QFramelessWidget 中多个组件添加滚动条
在上述代码中,我们首先创建了一个QVBoxLayout对象,然后创建了一个QHBoxLayout对象,并将两个按钮控件添加到QHBoxLayout中。在QFramelessWidget中添加多个组件时,有时候需要在这些组件中添加滚动条,以便用户可以滚动查看超出窗口可见区域的内容。通过新建一个临时的QWidget,在构造中传入QScrollArea对象,在临时的QWidget中添加要显示的子部件,在通过滚动条对象在临时的QWidget中添加滚动条。
2023-07-25 16:49:15
525
原创 UDP通过广播的形式发送、接收结构体
UDP是一种无连接的、面向数据包的传输协议,通过广播的方式可以向多个接收方发送数据。在C++中,可以使用socket库来实现UDP广播的发送和接收。下面是一篇CSDN博文,介绍了如何使用C++通过广播的形式发送和接收结构体。
2023-07-20 17:28:49
2535
原创 QTimer定时器详解
然后通过QObject::connect()函数将定时器的timeout()信号连接到一个lambda表达式槽函数中。通过QObject::connect()函数将定时器的timeout()信号连接到MyObject的onTimeout()槽函数。通过QObject::connect()函数将定时器的timeout()信号连接到相应的槽函数中,实现对定时器超时事件的处理。timeout(int):这是QTimer的重载信号,当定时器超时时会触发该信号,并传递一个int类型的参数。
2023-07-20 16:30:12
2553
原创 QCheckBox详解
通过使用QCheckBox类,可以创建复选框,设置复选框的属性,并使用信号和槽机制响应复选框的状态变化。在Qt中,使用QCheckBox的第一步是在代码中包含QCheckBox的头文件。上述代码将复选框的图标设置为位于"path/to/icon.png"路径下的图标文件。一旦复选框被创建并设置好属性,可以通过信号和槽机制来响应复选框的状态变化。在显示复选框之前,还可以设置复选框的一些属性。上述代码将复选框的状态设置为选中状态。可以使用setChecked函数设置复选框的状态。
2023-07-20 16:22:36
4609
原创 C++算法:排序、查找
插入排序希尔排序选择排序堆排序冒泡排序快速排序桶排序降序排序时间复杂度:对排序数据的总的操作次数。反映当n变化时,操作次数呈现什么规律。空间复杂度:是指算法在计算机内执行时所需存储空间的度量,它也是数据规模n的函数。顺序查找二分查找插值查找
2023-04-13 11:58:44
657
原创 C++数据结构:二叉树
每个结点最多只有二棵子树,也就是二叉树中没有度大于2的结点。二叉树的子树有左右之分,严格区分左孩子、右孩子,其次序不能颠倒二叉树五种基本形态。
2023-04-13 11:31:14
523
原创 C++数据结构:STL
STL概述(Standard Template Library)序列式容器:包括vector ,deque,list关联式容器:包括set,map,multiset和multimap算法的参数都是基于迭代器,作用于容器。它们提供了执行各种操作的方式
2023-04-13 10:03:46
1155
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人