
QT
文章平均质量分 52
8年老菜鸡
怎么搜到我的,不会是搜狗吧
展开
-
QT框架中使用easylogging日志库报错重定义排查办法:error: multiple definition of `el::base::elStorage
显然问题是出在了 public_macro.h中,因为我在多个cpp中 引入了这个头文件。GetProcessIdAsString 被重定义。一般会在很多cpp里面报错重定义。直接放到了 main.cpp中。原创 2025-02-11 16:24:07 · 347 阅读 · 0 评论 -
C++ QT框架极简日志记录,一段代码实现日志记录并输出到文件
个人开发一个小工具,有日志记录的需求,但是不需要使用日志库,感觉日志库太重了,本身一个小程序而已,也不需要这么复杂的日志记录;因为是一段宏定义,所以在cpp里面使用这段定义的时候需要 include 一些头文件。日志文件保存在 ./log/20250208_测试工具.log。下面是直接在QT Creator中启动程序。日志名称以时间命名 + 传参命名。原创 2025-02-08 15:02:49 · 304 阅读 · 0 评论 -
QTCreator打开项目后右下角构建进度条直接爆红,问题排查
起因是这样的:我的笔记本电脑电源适配器坏了,年后来不及买适配器了,索信直接买了台新笔记本电脑用于办公,原本是使用的QT 5.12.0,后来在新电脑上安装的是 QT 5.12.12,于是打开pro文件,构建不了。以为是版本问题,于是换回了 QT 5.12.0,还是构建不了;使用了大家常用的方法,选项 - 构建和运行 - 概要 - 项目和目录,将这里的选项改为当前目录,实际上我改完后没有效果,后来发现与路径有关,原创 2025-02-05 08:40:45 · 275 阅读 · 0 评论 -
pro文件转换为CMakeLists.txt文件,QT官方工具使用教程
工具创建一个文件,覆盖转换后的.pro文件的大多数常见属性。生成的CMake项目可以作为基线使用,但可能需要手动调整。无法转换的QMake构造将以注释的形式保留在CMake项目中。原创 2024-12-19 18:24:11 · 1845 阅读 · 0 评论 -
观察者模式演示(C++ QT框架)三分钟读懂
观察者模式是一种设计模式,其中一个对象(称为主题或可观察者)维护一组依赖于它的对象(称为观察者),当主题的状态发生变化时,它会通知所有观察者。在C++中结合Qt,可以使用信号和槽机制来实现观察者模式。原创 2024-10-17 11:31:06 · 601 阅读 · 0 评论 -
Qt Design Studio 社区版下载教程(完全免费)
QT设计工具、开发工具、开发框架,最新版本下载教程原创 2024-10-11 18:04:35 · 4803 阅读 · 0 评论 -
【QT基础】将QStringList中的元素以某一规律进行切割或过滤QString切割,并将切割后的元素在进行还原
是 Qt 框架中的一个类,用于存储一组字符串。它是一个动态数组,可以根据需要自动调整大小,并提供了一些方便的方法来操作字符串列表。这里我们主要是处理的是,包含有一定规律的QString,或者有一定规律的QStringList;例如,我有以下几种命名格式,,简化一下就是"名称"、"数字_名称_其他信息"。我们不妨再来提一个需求,有。原创 2023-12-01 16:54:04 · 870 阅读 · 0 评论 -
QT Creator实现导出某数据库的某表格,导出的时候将表头写成中文
其中,需要根据实际情况修改以下参数: - `/path/to/database.db`:数据库文件路径和文件名 - `table_name`:需要导出的表格名称 - `/path/to/output.xls`:输出的Excel文件路径和文件名 这段代码将从SQLite数据库中导出`table_name`表格的所有数据,写入Excel文件,并使用中文表头。实现将某数据库内的某表格,导出为execl可以打开的表格文件,一般后缀为 .xls。2. 创建Excel文件并写入表头和数据。3. 保存Excel文件。原创 2023-03-31 18:02:11 · 532 阅读 · 0 评论 -
GPT问答:在Ubuntu系统中,利用QtCreator的QSqlQuery语句,连接到其他目录的mission_history.db数据库,并将其中的名为 mission 表单,以xls格式导出
麻烦实现一下,在Ubuntu系统中,利用QtCreator的 QSqlQuery语句,连接到其他目录的mission_history.db 数据库,并将其中的名为 mission 表单,以xls格式导出到当前路径下。原创 2023-03-20 14:49:01 · 162 阅读 · 0 评论 -
QT基础:做一个图片编辑器演示,UI中主要用到QScrollArea、QPuhButton、QSlider、QMenBar、QStatusBar、QGroupBox等控件
主要实现功能:打开某路径图片可以在窗口中展示,如果图片大于展示区域,会自动出现滑动块,可以通过画笔和橡皮擦来修改图片,可以选择不同的画笔颜色,可以画笔大小,编辑完成后,可以保存图片,打开图片快捷键为 ctrl + o ,保存图片快捷键为: ctrl + s;做一个图片编辑器的演示,其实也相当于 QScrollArea、QPuhButton、QSlider、QMenBar、QStatusBar、QGroupBox 等控件的综合演示。1、打开QT,创建一个 mainWindow 项目,画好UI。原创 2023-03-19 22:17:02 · 694 阅读 · 0 评论 -
QT基础:QImage像素图多种遍历方法修改图像演示
这里主要用到了两种像素图的遍历方法一种是通过内存访问像素点来修改RGBA颜色另一种是用 setPixelColor() 函数访问每一个像素点修改颜色。原创 2023-03-19 10:19:20 · 1900 阅读 · 0 评论 -
QT基础:QPainte 绘制线段,并修改画笔为图片演示
使用QPainte将修改画笔样式,并用drawLine和drawLines绘制线段这里沿用了中的代码。原创 2023-03-18 21:23:37 · 1127 阅读 · 0 评论 -
QT基础:QPainte 绘制文本并设置动态设置字体演示
QPainte是QT里面的一个绘制控件,这里演示的是,用 QPainte 绘制一个文本,并通过 ui 上的控件 改变文本字体后触发widget槽函数update()来刷新界面,演示过于简单,适合初学者食用。原创 2023-03-18 20:28:42 · 1746 阅读 · 0 评论 -
QT基础:窗口大小改变事件演示
这里演示的是,控件大小随着窗口大小的改变而改变,做到控件大小适应窗口大小适合初学者食用这里的知识点是重载 resizeEvent(QResizeEvent * re) 函数,和重载 event(QEvent *ev) 函数。原创 2023-03-18 11:37:48 · 5703 阅读 · 0 评论 -
QT基础:event 函数重载、筛选鼠标按压事件、获取鼠标位置、右键显示菜单、修改鼠标样式功能演示
这里演示的是QT基础,主要包含:event 函数重载、筛选鼠标按压事件、获取鼠标位置、右键显示菜单、修改鼠标样式等功能演示,适合初学者食用。演示功能:点击鼠标左键、右键、中键、左右键同时点击,输出鼠标当前坐标;按下鼠标中键,鼠标样式被替换,按下鼠标左键,鼠标样式恢复默认鼠标事件重载,这里暂时不放出来了。原创 2023-03-18 10:09:44 · 2195 阅读 · 0 评论 -
QT基础:QMenuBar、QToolBar、QStatusBar 综合基本演示
本文主要演示 Widget 中的QMenuBar控件的二级菜单三级菜单信号槽的演示,添加图标设置单选和多选绑定快捷键,还有QToolBarQStatusBar。原创 2023-03-13 21:41:29 · 2143 阅读 · 1 评论 -
QT基础:遍历QListWidget,及QListWidget简单演示,适合初学者食用
3、代码演示,手动添加 QListWidget 数据的几种不同方式,这里的代码是写在 widget.cpp中的,遍历 QListWidget , 这里创建了一个槽函数来进行遍历,槽函数与之前添加的按钮进行绑定。2、在窗口中,选中 QListWidget 小部件,右侧属性栏还可以设置每一行数据的尺寸、图标尺寸还有选中模式,选中模式通常是无法选择、单选、多选、连续选择。1、打开QT,创建一个 widget 项目,在UI中加入 QListWidget 和一个 PushButton(等会备用)原创 2023-03-02 23:08:43 · 6015 阅读 · 0 评论 -
QT基础:QSlider 滑块的简单演示
滑块共有两种,一种是水平的,一种是垂直的,它们的区别只是放置的方向不同而已这里主要演示水平滑块,所以修改了水平滑块的最大值、鼠标移动和键盘移动的参数,垂直滑块保持默认的参数Click() 槽函数绑定的是 按钮的点击事件其他的槽函数绑定的滑块的值改变、移动、按压、释放事件// 获取滑块当前值// 将滑块当前值+10 写入进去// 滑块值改变后触发// 获取滑块当前值// 滑块移动时就触发// 按压滑块时触发// 松开时触发delete ui;原创 2023-03-01 17:42:36 · 2779 阅读 · 0 评论 -
QT基础:QRadioButton、QVBoxLayout及遍历按钮组的简单演示
其中引入了 QRadioButton、QButtonGroup、QVBoxLayout、QPushButton、QMessageBox。QRadioButton 是一个单选按钮,多个单选按钮在同一层的时候只能有一个被选中。用QT创建一个 widget 项目,手动在 widgey.cpp 中添加控件。这里主要用到的是控件是 QRadioButton、QVBoxLayout。QVBoxLayout 是一个垂直布局器,将控件垂直分布于布局器中。主要用到的方法是按钮组的遍历。原创 2023-02-27 23:27:34 · 1075 阅读 · 0 评论 -
QT基础:QButtonGroup 按钮组的简单演示
QButtonGroup 是一个按钮组,就是将控件进行组合或分组的一个容器,但是它并不在设计师里面可以直接拉出来用在使用 QButtonGroup 的时候需要引入一下。在选中或者取消选中任意一个选择框的时候,都能触发一次按钮组的 buttonClicked 和 buttonToggled 信号,选中一个选择框的时候,可以触发按钮组的 buttonClicked 和 buttonToggled 信号再去选中另一个选择框的时候,第一个选择框的buttonToggled 的信号又被触发了一次;原创 2023-02-27 22:20:38 · 6579 阅读 · 0 评论 -
QT基础:遍历QFormLayout列表布局器中的控件,并链接槽函数进行操作
QFormLayout 是一个列表布局器每一行的序号是从0开始的,类似于数组的下标每一行有两个元素,左边的元素叫标签(Label),右边的元素叫字段(Field)这里是一个QFormLayout简单的布局演示 QFormLayout 列表布局器演示这里演示也是基于上面这个帖子的代码的这是我们创建好的布局: 首先创建一个 widget 项目 可以复制这里的代码:QFormLayout列表布局器演示在 widget.h 中声明两个槽函数:2、在 widget.cpp中 实现一下:3、记得链接两个原创 2023-02-26 21:56:46 · 1526 阅读 · 1 评论 -
QT基础:QFormLayout 列表布局简单演示
需要特别注意的是 & 符号,在“&name”中,实际上 &符号不会先窗口上面显示出来,这里只是表示将&符号后面的一个字母创建快捷键,按下 alt + &后面的字母 触发。在 main.cpp里面,将窗口大小改为 300x300 ,打开QT,创建一个 widget 项目。下面代码是在 widget.cpp 中。演示比较简单,合适初学者食用。当然这一步不做也可以。原创 2023-02-26 13:07:48 · 666 阅读 · 0 评论 -
QT基础:QGridLayout 网格布局新手演示
看过很多QGridLayout的案例演示,对于大多数新手来讲,有些案例过于经典导致新手难以读懂又消磨新手的耐心,所有打算写一点简单的演示,旨在让新手看懂。写在了设置水平间距和垂直间距之前,所以,这行代码实际上的效果是被设置水平间距和垂直间距给覆盖掉了。随着窗口的拖动,按钮的大小可以伸缩,但是不会高于最大尺寸,也不会低于最小尺寸。但是,这里演示不用设计师,只用代码来创建网格布局。所以就直接把QT给我们创建号的。先创建一个 widget 项目。原创 2023-02-26 11:33:02 · 1317 阅读 · 0 评论 -
QT:递归遍历QObject所有子节点并获取控件类型做转换
我们这里演示的是递归遍历 widget 下的所有控件,并对指定的控件做操作。当我们的 widget 内有很多控件的时候,如果要对某些控件做特殊的修改,那么手动一个一个改起来会特别费劲,这个时候用递归遍历就会轻松,下面开始做演示。递归算法是一种直接或者间接调用自身函数或者方法的算法。说简单了就是程序自身的调用。我们这里演示的是递归遍历 widget 下的所有控件,并对指定的控件做操作。下面是 QObject 循环遍历子类,和递归遍历做对比。以下是递归函数代码,注释比较多。这是 画好的 UI窗口。原创 2023-02-22 23:49:11 · 2223 阅读 · 0 评论