qt-C++语法笔记
文章平均质量分 58
QT
一只野生的善逸
坐标杭州,单身...呃,一起约轮滑,漂移板,柯南,宫崎骏,新海诚的动漫电影呀!
展开
-
qt-C++笔记之QProcess声明在堆上和声明在栈上对进程执行是否异步的影响
是一个有用的函数,可以使开发者在需要确保外部程序完全执行结束后再继续执行代码的场景中,很方便地实现同步操作。然而,需要谨慎使用,以避免在不适当的场合(如在主线程中处理耗时任务)导致应用程序响应性能问题。原创 2024-04-13 10:06:29 · 1006 阅读 · 0 评论 -
qt-C++笔记之获取当前文件名所在路径并拼接出新文件路径的一种方法
类通常用于文件系统信息的查询和目录管理。原创 2024-04-12 00:03:18 · 261 阅读 · 0 评论 -
qt-C++笔记之使用Cmake来组织和构建QWidget工程项目
— 杭州 2024-03-10。原创 2024-03-10 07:14:03 · 561 阅读 · 0 评论 -
qt-C++笔记之使用QProcess去执行一个可执行文件时指定动态库所存放的文件夹lib的路径
来启动一个可执行文件,并且需要指定动态库(如.so或.dll文件)所在的目录时,可以通过设置环境变量来实现。在Linux系统中,通常是设置。环境变量的具体设置可能会根据你的系统环境和需求有所不同。上述代码只是一个基本的框架,可能需要根据实际情况进行调整。在Windows系统中,则是设置。在Qt C++中,当你使用。原创 2024-02-26 22:21:20 · 593 阅读 · 0 评论 -
qt-C++笔记之事件过滤器
— 杭州 2024-02-25。原创 2024-02-25 15:22:24 · 912 阅读 · 0 评论 -
qt-C++笔记之判断一个QLabel上有没有load图片
是用来同时显示文本和图片的,你可能还需要检查其他属性,比如。是用来显示文本或者图片的一个控件。控件上是否加载了图片,你可以检查它的。对象,如果没有图片被加载,则返回。在上面的代码中,我们首先检查。属性,以确定控件的当前状态。,则表示没有图片被加载到。对象是否有效,通过调用。函数返回的指针是否为。原创 2024-02-10 00:24:26 · 871 阅读 · 0 评论 -
qt-C++笔记之contains()和isEmpty()函数、以及部分其他函数列举
根据所使用的容器类型,它的确切功能可能略有不同,但基本的用法是相似的。下面列举了一些常见的函数,这些函数通常可用于各种容器类,如QString、QList、QVector、QMap、QSet等。使用这些函数时,请确保你的容器已经被适当地初始化,否则可能会遇到未定义的行为。是两个常用的函数,它们通常用于不同的类和上下文中来检查容器的内容。这些函数都是非常高效的,因为它们通常是在容器的内部实现中直接检查状态,而不需要遍历整个容器。函数用于检查容器是否为空。在不同的容器类中,它用来判断容器内是否没有任何元素。原创 2024-01-30 23:06:44 · 1384 阅读 · 0 评论 -
qt-C++笔记之QStringList、QList<QString>、QString、QChar、QList<QChar>区别
— 杭州 2024-01-30 凌晨0:27。原创 2024-01-30 00:29:17 · 1254 阅读 · 0 评论 -
qt-C++笔记之使用信号和槽实现跨类成员变量同步响应
【代码】qt-C++笔记之使用信号和槽实现跨类成员变量同步响应。原创 2024-01-24 23:44:01 · 444 阅读 · 0 评论 -
qt-C++笔记之命令行编译程序,特别是使用Q_OBJECT宏包含了moc(Meta-Object Compiler)的情况
— 杭州 2024-01-24。原创 2024-01-24 23:29:05 · 1218 阅读 · 0 评论 -
qt-C++笔记之QProcess
此代码省略了错误处理和信号/槽连接,适用于简单的同步命令执行。如果你想要异步处理或更复杂的错误处理,你需要采用第一个例子中的更详细的方法。代码应该具有清晰的命名,详细的注释,以及适当的输出信息。原创 2024-01-07 23:53:32 · 1050 阅读 · 0 评论 -
qt-C++笔记之app.processEvents()和QApplication::processEvents()的区别
对象来处理等待中的事件。这样做的好处是,你可以使用。代码1和代码2的区别在于代码1中使用了一个具体的。这种方式是直接调用静态成员函数,不需要创建。这样做的好处是,你无需创建一个具体的。函数,而代码2中直接使用了静态成员函数。这种方式是通过创建一个具体的。对象,可以直接处理等待中的事件。在代码2中,我们直接通过类名。在代码1中,我们创建了一个。,并通过该对象调用了。原创 2023-12-20 02:26:57 · 457 阅读 · 0 评论 -
qt-C++笔记之std::tostring()、.toStdString()、.toLocal8Bit().constData()的使用场景
是在不同情况下使用的字符串转换方法,具有不同的用途和适用场景。使用场景:将基本数据类型(如整数、浮点数等)转换为字符串。指针,用于与接受C风格字符串参数的函数进行交互。在使用这些方法时,请确保包含了相应的头文件,如。适用类型:整数、浮点数等基本数据类型。的生命周期足够长,以避免悬空指针问题。原创 2023-12-15 00:22:36 · 1249 阅读 · 0 评论 -
qt-C++笔记之addAction和addMenu的区别以及QAction的使用场景
是一个通用的用户交互元素,用于表示用户界面中的操作。函数的第一个参数是发送信号的对象,第二个参数是信号的名称,第三个参数是接收者对象,第四个参数是槽函数的名称。对象的指针,表示菜单栏的父对象。在这种情况下,我们将菜单栏设置为窗口的子对象,以便在窗口关闭时自动释放菜单栏内存。通过使用动态内存分配和指定父对象,我们可以确保在窗口关闭时,菜单栏对象会自动被销毁并释放内存。根据你的需求和菜单结构,选择合适的函数以在菜单中添加菜单项或子菜单。对象,并将其设置为窗口的菜单栏,并将菜单栏的指针存储在。原创 2023-12-11 23:34:58 · 1335 阅读 · 0 评论 -
qt-C++笔记之组件-分组框QGroupBox
【代码】qt-C++笔记之组件-分组框QGroupBox。原创 2023-12-04 01:14:14 · 663 阅读 · 0 评论 -
qt-C++笔记之addItem(), addWidget(), addLayout()
在上面的示例中,我们使用QVBoxLayout创建一个垂直布局,并将其设置为一个QWidget的布局。然后,使用addWidget()函数将QPushButton和QLabel添加到布局中,并指定了不同的参数,如行号、列号和对齐方式。通过使用这些函数,您可以根据需要将小部件和布局组织到不同的容器中,并指定它们的位置和排列方式。是一个用于添加布局的函数,它的作用是将一个布局添加到另一个布局中。它的参数是一个布局对象,可以是。是用于布局管理的函数,它们用于将控件或布局添加到容器中,以实现界面的布局。原创 2023-12-03 21:26:35 · 3386 阅读 · 0 评论 -
qt-C++笔记之QStringList
— 杭州 2023-12-03。原创 2023-12-03 18:48:05 · 1547 阅读 · 0 评论 -
qt-C++笔记之识别点击鼠标右键、点击位置以及Qt坐标系详解
屏幕坐标系:屏幕坐标系是全局的坐标系,用于描述屏幕上的位置。屏幕坐标系的原点通常位于显示器的左上角,与窗口坐标系的原点不一定对齐。窗口坐标系:在窗口中,坐标系的原点通常位于窗口的左上角。返回的坐标是相对于接收鼠标事件的窗口部件的局部坐标系,原点位于左上角,x 轴向右,y 轴向下延伸。返回的坐标是相对于接收鼠标事件的窗口部件的局部坐标系。具体来说,坐标系的原点位于窗口部件的左上角,x 轴向右延伸,y 轴向下延伸。,可以确保在处理右键点击事件之外的其他类型的鼠标点击事件时,仍保留基类的默认行为。原创 2023-12-03 11:49:05 · 2077 阅读 · 0 评论 -
qt-C++笔记之主线程中使用异步逻辑来处理ROS事件循环和Qt事件循环解决相互阻塞的问题
是ROS提供的一个异步事件处理器,用于在单独的线程中处理ROS的回调函数和事件循环。是ROS提供的一个阻塞函数,用于启动ROS节点的事件循环并等待节点退出的信号。是ROS提供的一个异步事件处理器,用于在单独的线程中处理ROS的回调函数和事件循环。函数时,它会启动一个新的线程,并在该线程中执行ROS的事件循环。是Qt应用程序的主事件循环函数。是ROS提供的一个阻塞函数,用于启动ROS节点的事件循环并等待节点退出的信号。是ROS提供的一个类,可以在单独的线程中处理ROS的事件循环,而不会阻塞Qt的事件循环。原创 2023-11-29 23:04:12 · 1238 阅读 · 0 评论 -
qt-C++笔记之不使用ui文件纯C++构建时控件在布局管理器作用下的默认位置和大小实践
使用这些方法可以实现更精确的控件布局,但在复杂的界面中,使用布局管理器仍然是更推荐的方式,因为它可以自动处理控件的位置和大小,简化布局过程,并适应不同的窗口大小和布局需求。当在Qt中创建控件但没有指定其大小和位置时,Qt会使用默认的大小和位置来显示这些控件。也就是说,后创建的控件将位于先创建的控件的后面。因此,如果没有指定位置,控件的默认位置将相对于窗口的左上角进行布局。这些控件将根据布局管理器的设置自动调整大小和位置,以适应窗口的大小。如果你想要更精确地控制控件的大小和位置,可以使用控件的方法,例如。原创 2023-11-26 21:46:23 · 1370 阅读 · 0 评论 -
qt-C++笔记之Qt中的时间与定时器
函数要求传递一个可调用的函数指针或函数对象作为定时器触发时要调用的槽函数。然而,非静态成员函数需要通过对象实例来调用,而不是直接使用函数指针。您可以将非静态成员函数包装为静态成员函数或普通函数,然后将该包装函数作为参数传递给。在 Lambda 表达式内部,通过对象实例调用相应的非静态成员函数。方法可以启动定时器,并开始计时。在包装函数内部,通过实例化类对象,调用相应的非静态成员函数。不过,您可以使用一些其他方法来实现类似的延时执行的效果。函数可以重置计时器,将计时器的值重置为0,并重新开始计时。原创 2023-11-10 01:03:27 · 613 阅读 · 0 评论 -
qt-C++笔记之信号与槽
SIGNAL()和SLOT()是Qt定义的两个宏,它们返回其参数的C语言风格的字符串(const char*)。原创 2023-10-22 19:15:38 · 142 阅读 · 0 评论 -
qt-C++笔记之清空QVBoxLayout中的QCheckBox
它们通常与 Qt 库一起使用,Qt 是一个流行的跨平台 GUI 库,可以用于创建桌面应用程序。这两个类通常一起使用,你可以创建一个包含多个复选框的垂直布局,以便用户可以在其中选择不同的选项。方法逐个从布局中移除小部件,然后删除这些小部件。这将删除布局中的所有小部件,而不需要删除布局中的所有项目,然后再删除它们。,如果是,则删除它。这也避免了不必要的布局项删除,因为只删除。你可以选择其中一种方法,根据你的实际需求来使用。这两种方法都可以帮助你在不清空整个布局的情况下删除。原创 2023-10-17 23:24:02 · 519 阅读 · 0 评论 -
qt-C++基于QWidget的程序模板
【代码】qt-C++基于QWidget的程序模板。原创 2023-10-15 19:41:01 · 295 阅读 · 0 评论 -
QT每日一练day29:QT中的多线程探究
一.未使用多线程,则w0先运行完后,w1才开始运行运行结果(GIF动图):main.cppxiaowen_QT_day29.proQT+=widgetsSOURCES += \ main.cppmain.cpp#include<QApplication>#include<QDebug>#include<QThread>class Work{public: Work(const QString& name):_obje.原创 2021-05-11 14:06:16 · 244 阅读 · 4 评论 -
QT每日一练day28:QT中的2D绘图知识概念——讲义截图
原创 2021-05-10 22:21:21 · 71 阅读 · 0 评论 -
QT每日一练day27:绘制不规则窗体
一.第一阶段:隐藏窗体框架运行结果(GIF动图):widget.cpp二.第二阶段:将窗口设置为透明运行结果(GIF动图):widget.cpp三.第三阶段:结合鼠标坐标在隐藏窗体框架、将窗口设置为透明的基础之上step1:运行结果(GIF动图):widget.cpp增添内容:step2:添加鼠标右键QMenu,运行结果(GIF动图):widget.hwidget.cppstep3:step2的另一种更好的实现:...原创 2021-05-10 21:03:42 · 191 阅读 · 0 评论 -
QT每日一练day26:绘制图片
一.第一阶段发现上述图片没有显示全!!!!!二.第二阶段设置宽高比,平滑转换运行结果(GIF动图):发现上述图片在数次缩放后会产生失真!!!!!三.第三阶段为了避免图像缩放过程中产生失真,修改代码(去掉赋值)运行结果(GIF动图):四.第四阶段使用绘制图片的另一个类运行结果(GIF动图):五.附:代码xiaowen_QT_day25QT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widge.原创 2021-05-09 16:57:57 · 433 阅读 · 0 评论 -
QT每日一练day25:触发绘画事件
运行结果(GIF动图):widget.cpp附代码:xiaowen_QT_day25.proQT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11# The following define makes your compiler emit warnings if you use# any Qt feature that has been marked deprecated原创 2021-05-09 15:35:27 · 407 阅读 · 0 评论 -
QT每日一练day24:绘画事件
一.第一阶段设置线条粗细二.第二阶段:设置笔的样式如:虚线三.第三阶段:绘制矩形四.第四阶段:设置颜色轮廓颜色笔刷颜色笔刷样式五.第五阶段:绘制其他形状图像和文字六.第六阶段:图像旋转七.第七阶段:图像旋转八.第八阶段:坐标系原点变换尽管painter的原点坐标系变换了,但不会影响顶级窗口的原点坐标系。九.第九阶段:画笔的保存和还原注意:使用QPinter在QWidget派生类对象上绘制图形时,QPainter必须放在paintEvent事件处理.原创 2021-05-09 13:47:13 · 191 阅读 · 0 评论 -
QT每日一练day23:鼠标进入与离开事件
运行结果(GIF动图):xiaowen_QT_day23.proQT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11# The following define makes your compiler emit warnings if you use# any Qt feature that has been marked deprecated (the exact warni原创 2021-05-07 16:39:23 · 188 阅读 · 0 评论 -
QT每日一练day22:键盘事件
一.第一阶段——键盘按键按下事件运行结果(GIF动图):xiaowen_QT_day22.proQT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11# The following define makes your compiler emit warnings if you use# any Qt feature that has been marked deprecate.原创 2021-05-07 15:13:47 · 165 阅读 · 0 评论 -
QT每日一练day21:鼠标事件
一.第一阶段——鼠标点击和释放事件运行结果(GIF动图):MouseEvent.pro#-------------------------------------------------## Project created by QtCreator 2021-05-06T12:10:47##-------------------------------------------------QT += core guigreaterThan(QT_MAJOR_VERSION,原创 2021-05-06 15:17:45 · 138 阅读 · 0 评论 -
QT每日一练day20:事件处理机制
运行结果:day20.proQT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11# The following define makes your compiler emit warnings if you use# any Qt feature that has been marked deprecated (the exact warnings# depend on y.原创 2021-05-06 10:19:30 · 274 阅读 · 1 评论 -
QT每日一练day19:设计一个记事本
一.第一阶段widget.hwidget.cpp上述程序直接运行:二.第二阶段widget.cpp运行三.第三阶段xiaowen_EDIT.proQT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11# The following define makes your compiler emit warnings if you use# any Qt fea..原创 2021-05-05 17:18:16 · 133 阅读 · 0 评论 -
QT中的继承关系
原创 2021-05-05 14:27:38 · 1582 阅读 · 0 评论 -
QT每日一练day18:文件IO
一.读文件day18.proSOURCES += \ main.cppmain.cpp#include<QFile>#include<QDebug>int main(){ QByteArray buf; QFile file("E:/test.txt"); file.open(QIODevice::ReadWrite|QIODevice::Text); buf=file.read(12);//读指定字节 qDebug原创 2021-05-04 21:49:08 · 137 阅读 · 0 评论 -
QT每日一练day17:QString和QByteArray
一.QStringday17.proSOURCES += \ main.cppmain.cpp#include<QString>#include<QDebug>#include<QByteArray>int main(){ int age=13; bool sex=true; QString name("xiaoming"); QString str; str=QString("age %1 sex %2原创 2021-05-04 15:49:38 · 145 阅读 · 0 评论 -
QT每日一练day16:QMessageBox消息对话框
一.运行结果(GIF动图):二.附代码day16.proQT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11# The following define makes your compiler emit warnings if you use# any Qt feature that has been marked deprecated (the exact warnings原创 2021-05-04 13:33:43 · 166 阅读 · 0 评论 -
QT每日一练day15:QColorDialog颜色对话框
一.运行结果:二.附代码:day15.proQT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11# The following define makes your compiler emit warnings if you use# any Qt feature that has been marked deprecated (the exact warnings#原创 2021-05-03 23:03:30 · 151 阅读 · 0 评论