QT学习笔记
文章平均质量分 55
IIIIIII_II
历尽千辛万苦的飞升者,成为围剿孙悟空的十万天兵之一
展开
-
【Qt学习笔记】setModal()(模态对话框)
模态对话框是一种需要用户交互完成(例如通过点击“确定”、“取消”等按钮)之后,才能继续与应用程序其他部分交互的对话框。`setModal`是一个成员函数,通常在Qt框架中的窗口(widget)或对话框(dialog)类中找到。简而言之,这条代码的作用是确保当前窗口以模态方式显示,即在用户处理完此窗口之前,程序的其他部分将不可用,从而强制用户关注并响应这个窗口。在编程中,尤其是使用C++和Qt库进行图形用户界面(GUI)开发时,`this->setModal(true);` 这行代码具有特定的含义。原创 2024-10-09 10:27:10 · 390 阅读 · 0 评论 -
在C++中,单冒号(:)的作用
在构造函数的定义中,单冒号后面紧跟着的是成员初始化列表。在类定义时,如果类是从另一个基类继承而来,单冒号用于指定继承关系,如 `class DerivedClass : public BaseClass`。这里,`public` 是访问修饰符,指定继承的访问权限。在这个例子中,构造函数体为空,因为所有必要的初始化工作已经在成员变量初始化列表中完成了。总结来说,单冒号在C++中主要用于构造函数初始化列表、继承关系的声明以及条件运算符中,是语法中不可或缺的一部分,用于明确指定初始化、继承和条件选择等重要概念。原创 2024-04-29 10:08:47 · 555 阅读 · 0 评论 -
qt中lineEdit设置为不可编辑
setEnabled(false)`会禁用整个`QLineEdit`控件,使其不仅无法编辑,而且视觉上看起来更“灰暗”或“失效”。`setReadOnly(true)`会使`QLineEdit`变为只读模式,用户不能直接修改其文本内容,但仍能通过代码更改,并且文本仍可被选中、复制等。通常情况下,如果只是希望禁止用户输入而不影响其他交互(如文本可见、可复制),使用`setReadOnly(true)`更为合适。如果需要完全禁用该控件的所有交互,使用`setEnabled(false)`更加合适。原创 2024-04-28 19:50:07 · 2377 阅读 · 0 评论 -
qt环境下给lineEdit设置数值精度为0.5
如果您希望用户只能输入以0.5为步进的数值,可以直接使用`QDoubleSpinBox`代替`QLineEdit`。在Qt环境中,要为`QLineEdit`控件设置数值输入的精度为0.5,即允许用户输入以0.5为步进单位的数值,通常并不直接通过`QLineEdit`本身来实现,因为`QLineEdit`默认用于接收任意文本输入。您可以连接`QLineEdit`的`textEdited`信号,当文本发生变化时进行实时验证和格式化。若坚持使用`QLineEdit`,则需要自行实现相关验证与转换逻辑。原创 2024-04-27 12:05:38 · 931 阅读 · 0 评论 -
qt中的取整函数
在实际编程中,根据具体应用场景选择合适的取整函数即可。如果您需要其他类型的取整行为(如向零取整、 bankers rounding 等),可能需要借助标准C++库或其他第三方库提供的功能。如果小数部分恰好为0.5,它遵循“四舍六入五成双”的规则,即如果前一位数字是奇数,向上舍入;该函数返回大于或等于给定浮点数的最小整数。如果输入值是正数,它会将小数部分去掉并增加到下一个整数;如果是负数,它会返回与输入值相等的整数(即不改变负数的值)。对于负数,它会减去小数部分并进一步减一,使结果更小。原创 2024-04-26 17:50:58 · 1746 阅读 · 0 评论 -
qt可以分批次读取一个大文件吗
Qt 提供了多种方法来分批次(分块)读取大文件,避免一次性加载整个文件到内存。以下是一种常见的分批次读取大文件的方法,使用。原创 2024-04-17 14:11:00 · 626 阅读 · 0 评论 -
QNetworkAccessmanager用法
QNetworkAccessManager` 是 Qt 网络模块中的一个核心类,它负责处理所有的网络请求,如 HTTP 请求、FTP 下载、上传文件等。除了 GET 请求之外,还可以使用 `QNetworkAccessManager` 的其他方法,如 `post()` 发送 POST 请求,或 `put()`、`upload()` 等方法进行文件上传等复杂操作。- `replyFinished` 槽函数会在网络请求完成后被调用,处理收到的数据或错误信息。// 处理网络请求的完成事件。原创 2024-04-01 12:05:19 · 641 阅读 · 0 评论 -
【QT】setContextMenuPolicy()函数用法
通过调用 `setContextMenuPolicy(Qt::ContextMenuPolicy policy)` 函数,可以设定控件在用户右击时的行为,比如是否启用默认上下文菜单、禁用上下文菜单,或者开启自定义上下文菜单(通过 `Qt::CustomContextMenu` 策略并连接 `customContextMenuRequested(const QPoint &pos)` 信号)。使用控件的默认上下文菜单处理,通常是调用 `contextMenuEvent()` 函数来处理上下文菜单事件。原创 2024-04-01 12:05:04 · 2141 阅读 · 0 评论 -
Qt学习建议
总之,Qt 学习是一个循序渐进的过程,从基本的 GUI 编程开始,逐渐过渡到更复杂的组件使用和框架理解。- 利用官方文档(Qt Documentation),参加在线课程,阅读 Qt 入门教程,甚至参考经典的书籍如《C++ GUI Programming with Qt 4》(若为旧版本)或对应新版Qt的书籍。- 学习 Qt Widgets 库,它是 Qt 提供的用于创建桌面 GUI 的模块,包括 QLabel、QPushButton、QLineEdit、QMainWindow 等各种常用控件的使用方法。原创 2024-03-30 00:04:23 · 349 阅读 · 0 评论 -
C++学习建议
6. **现代C++特性**:随着C++11及后续标准的发布,C++引入了许多新特性,比如右值引用、移动语义、lambda表达式、自动类型推断(auto)、范围基础for循环、 constexpr、原子操作等,这些都需要逐渐掌握。1. **基础语法**:首先掌握C++的基础语法,如变量声明与赋值、数据类型、运算符、流程控制语句(if-else、switch、for、while、do-while)、数组、指针、字符串等。8. **阅读源码**:阅读开源项目的C++源码有助于理解优秀的编码风格和最佳实践。原创 2024-03-30 00:04:05 · 983 阅读 · 0 评论 -
【QT学习笔记】qt配置快捷键:全局快捷键|应用程序中的快捷键
另外,如果你提到的是为Qt应用程序中的特定功能自定义快捷键,你需要在编写代码时调用相关API来设置,例如对于QWidget及其子类,可以使用`QShortcut`类来关联一个动作或槽函数与键盘快捷键。- 在打开的选项窗口中,找到并点击“键盘”(Keyboard)或“环境”下的“快捷键”(Shortcuts)类别。- 若要更改某个命令的快捷键,首先选择该命令,然后在右侧区域点击已有的快捷键或者直接输入新的快捷键组合。- 按下新的快捷键后,系统会更新该命令的快捷键设置。对象,并设置了它的快捷键。原创 2024-03-29 00:01:33 · 2744 阅读 · 0 评论 -
【QT学习笔记】.pro文件
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets //大于Qt4版本 才包含widget模块。在这里使用“+=”,是因为我们添加我们的配置选项到任何一个已经存在中。TARGET = QtFirst //应用程序名 生成的.exe程序名称。HEADERS += mywidget.h //头文件。CONFIG += c++11 //使用c++11的特性。QT += core gui //包含的模块。从“#”开始,到这一行结束。原创 2024-03-29 00:00:38 · 394 阅读 · 0 评论 -
lambda表达式
3. **箭头操作符(Arrow Operator)**:`->`,在C++和Java中用于分隔参数列表和返回类型声明(在C++中)或者函数体(在Java中,不需要明确写出返回类型,会自动推断)。4. **函数体(Body)**:包含要执行的逻辑,可以是单个表达式(在这种情况下通常隐式返回该表达式的结果)或一个代码块(可能包含若干语句,并可以显式返回结果)。1. **捕获列表(Captures)**(在C++中):可选部分,用于捕获外部作用域的变量,可以是值捕获或引用捕获。// C++ 中的基本结构。原创 2024-03-28 00:28:42 · 293 阅读 · 0 评论 -
namespace命名空间
加上using声明(using namespace std) 或using指示(如std::string、1) 当使用的时候,该头文件没有定义全局命名空间,必须使用。1)当使用时,相当于在c中调用库函数,使用的是全局命。二: 由于namespace的概念,使用C++标准程序库的任何标识符时,可。2) 当使用的时候,该头文件没有定义全局命名空间,必须。std是c++标准命名空间,c++标准程序库中的所有标识符都被定义在std。原创 2024-03-28 00:29:03 · 1005 阅读 · 0 评论 -
【创建QT项目】使用向导创建
默认的基类有QMainWindow、QWidget以及QDialog三个,我们可以选择QWidget(类似于空窗口),这里我们可以先创建一个不带UI的界面,继续下一步。系统会默认给我们添加main.cpp、mywidget.cpp、 mywidget.h和一个.pro项目文件,点击完成,即可创建出一个Qt桌面程序。打开Qt Creator 界面选择 New Project或者选择菜单栏 【文件】-【新建文件或项目】菜单项。弹出New Project对话框,选择Qt Widgets Application,原创 2024-03-26 11:19:31 · 343 阅读 · 0 评论 -
【QT学习笔记】目录 (不定时更新)
报错。原创 2024-03-27 22:51:43 · 494 阅读 · 0 评论 -
Qt消息机制和事件--2
Qt 的事件是整个 Qt 框架的核心机制之一,也比较复杂。说它复杂,更多是因为它涉及到的函数众多,而处理方法也很多,有时候让人难以选择。现在我们简单总结一下 Qt 中的事件机制。Qt 中有很多种事件:鼠标事件、键盘事件、大小改变的事件、位置移动的事件等等。所有事件对应一个事件处理函数,在这个事件处理函数中用一个很大的分支语句进行选择,其代表作就是 win32 API 的WndProc()函数:在这个函数中,我们需要使用switch语句,选择message参数的类型进行处理,典型代码是:// ...原创 2024-03-27 00:17:15 · 1841 阅读 · 0 评论 -
Qt消息机制和事件
我们可以看到,同前面我们所说的一样,Qt 也是使用QEvent::type()判断事件类型,然后调用了特定的事件处理器。这是因为我们只处理的KeyPress类型的事件,并且如果不是KeyPress事件,则直接返回 false,鼠标事件根本不会被转发,也就没有了鼠标事件。对于其它我们不关心的事件,则需要调用父类的event()函数继续转发,否则这个组件就只能处理我们定义的事件了。我们重写了它的event()函数,这个函数有一个QEvent对象作为参数,也就是需要转发的事件对象。函数返回值是 bool 类型。原创 2024-03-27 00:16:32 · 1153 阅读 · 0 评论 -
【QT】生成exe文件无法直接运行(缺少dll文件)
当我们用qt去生成exe文件的时候,发现直接双击这个exe文件不能运行,提示缺少一些dll文件,这里我们使用qt自带的windeployqt来解决这个问题,这个windeployqt是qt提供给我们的可以去qt的安装目录下搜索一下可以看到的。原创 2024-03-13 17:41:23 · 675 阅读 · 0 评论 -
【QT】QFileInfo获取文件名、文件路径
从Qt 5.9开始,QFileInfo::baseName()函数可以直接返回不带任何后缀的文件名,这样就不需要手动处理扩展名了。原创 2024-03-08 13:13:04 · 3071 阅读 · 0 评论 -
【QT】QFileDialog用法(选择文件弹出框)
1,读取.dat文件并解析,将每个字节的值换行输出并且每行加上字节计数,输出txt文件。注意:头文件的添加,注意qDebug()中冒号用中文可能会报错。2,读取文件通过界面选择文件窗口来实现。4,输出的文件需要指定文件路径。3,选择的文件名称显示出来。原创 2024-03-06 19:40:37 · 3350 阅读 · 0 评论 -
QT快捷键
Ctrl + Shift + R 局部变量统一修改(将光标移动到需要更改的变量上,按Ctrl+Shift+ R,当前变量名称外框为红色时,表示已经已激活全局修改功能,当修改此处变量名称时将一同修改代码中所有使用该变量的变量名。Alt + Enter将光标移动到h文件中的方法声明,按Alt+Enter,再按回车键将在cpp中添加对应的方法。F2 在光标选中对象的声明和定义之间切换(和Ctrl+鼠标左键一样的效果,选中某一类或函数)Ctrl+Alt+up(向上箭头) 当前行向上复制。原创 2024-03-03 13:05:09 · 1570 阅读 · 0 评论 -
【QT】qt函数前忘记添加类名报错
在Qt编程中,当你在类的成员函数内部调用本类的其他成员函数时,如果忘记添加类名前缀,编译器会报错。这是因为C++要求在类的非静态成员函数内部调用其他非静态成员函数时,必须通过当前对象的实例(即this指针)来调用。另外,在Qt的信号和槽连接中,通常不会直接调用槽函数,而是通过QObject::connect()函数进行连接,这时不需要显式调用槽函数,并且也不需要类名前缀。当然,如果你在类外调用成员函数,始终需要通过类实例来调用:MyClass myObject;// 正确,通过类名前缀调用。原创 2024-03-02 00:02:44 · 353 阅读 · 0 评论 -
【QT学习笔记】QPair用法 | 如何定义一个函数返回两个值
QT中,如何定义一个函数返回两个short类型的数值在Qt中,你可以使用QPair来定义一个函数返回两个short类型的数值。QPair是Qt提供的一个模板类,用于存储两个值的有序对。QPair 就和 C++ 里的 Pair 用法差不多.template struct pair参数:class T1是第一个值的数据类型,class T2是第二个值的数据类型。功能:pair将一对值(可以是不同的数据类型)组合成一个值原创 2024-03-01 15:36:13 · 936 阅读 · 0 评论 -
【QT学习笔记】QString查找子字符串indexOf()、find()
QString::indexOf() 是 Qt 框架中 QString 类的一个成员函数,用于查找子字符串在原字符串中的首次出现位置。以下是该函数的基本用法和重载形式:// 基本形式:int QString::indexOf(const QString &str, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const;// 参数说明:- str: 要查找的子字符串。- from: 可选参数,指定从哪个索引开始搜索,默认为0,原创 2024-03-01 13:39:26 · 3588 阅读 · 0 评论 -
QT之处理字符串的函数
去掉空格QString的trimmed()函数QString::trimmed() 是 Qt 框架中的一个成员函数,用于处理字符串(QString 类型)的空白字符。当调用此函数时,它会返回一个新的 QString 对象,该对象是原字符串去除两端(首尾)空白字符后的结果。这里的空白字符包括但不限于空格、制表符和换行符。例如,在 C++ 中使用 trimmed() 函数的代码示例:原创 2024-03-01 11:52:05 · 985 阅读 · 0 评论 -
【QT学习笔记】QByteArray 截取数据
在Qt框架中,要从QByteArray对象中截取一段数据,可以使用以下几种方法:1. mid() 函数函数mid()返回从指定索引位置开始,向右边(即后面)长度为len的子字节数组。该函数的原型声明如下:QByteArray mid(int pos, int len = -1)其中,参数pos表示开始截取的索引,索引值从0开始;len表示要截取的子字节数组的长度,如果len为-1(默认值)或pos+len大于原字节数组的长度,则返回从pos开始一直到右边剩下的全部字节数组。下列代码演示了函数mid()原创 2024-03-01 11:37:18 · 4474 阅读 · 0 评论 -
C++语言环境下setEditTriggers函数用法
在C++环境下,setEditTriggers 函数是 QAbstractItemView(以及继承自它的类如 QTableWidget、QTreeWidget 和 QListView)中的一个成员函数,用于设置表格或列表视图的编辑触发条件。这个函数决定了何时用户可以通过单击、双击或键盘输入来编辑单元格或项。原创 2024-03-01 00:15:49 · 559 阅读 · 0 评论 -
【QT学习笔记】QT教程:QTextStream用法
QTextStream 是 Qt 库中的一个类,用于处理文本流。它提供了一套简洁易用的 API 来读取和写入文本数据,可以与多种数据源一起工作,如 QFile(文件)、QIODevice、QString 和 QByteArray。原创 2024-02-29 16:41:16 · 1584 阅读 · 0 评论 -
C++语言环境下setAlternatingRowColors函数用法
在C++环境下,setAlternatingRowColors 函数通常用于 Qt 库中的表格视图组件,如 QTableView、QTableWidget 等,用来设置表格的行是否显示交替颜色背景。这样可以增强视觉效果,帮助用户区分不同的行。以下是一个基本用法示例:原创 2024-02-29 16:40:54 · 414 阅读 · 0 评论 -
【PyQT】QT教程:setSectionResizeMode函数用法(设置列宽)
setSectionResizeMode 函数在 Qt 库中用于设置 QHeaderView 或类似类(如 QTableWidgetHeader、QTreeViewHeader)的某一列或某一行的自动调整模式。这个函数决定了当用户调整表头大小时,表格视图中的列宽或行高如何随之变化。在 PyQt 或 PySide 中,对于一个 QHeaderView 对象 header,其用法如下:原创 2024-02-29 16:40:16 · 935 阅读 · 0 评论 -
【QT学习笔记】QT教程:setSectionResizeMode()用法 (设置表格列宽)
在C++环境下,setSectionResizeMode 是 Qt 库中 QHeaderView 类的一个成员函数,用于设置表格视图(如 QTableView、QTreeView)的表头部分的列或行大小调整模式。以下是一个基本用法示原创 2024-02-29 16:02:58 · 1927 阅读 · 0 评论 -
【QT学习笔记】QT教程:QFile 用法
类进行基本的文件操作。在实际应用中,请确保正确处理可能出现的异常情况,例如文件不存在、无法打开或者权限不足等问题。是 Qt 框架中的一个类,用于进行文件操作,如读取、写入、移动、复制和获取文件属性等。以上代码片段展示了如何使用。原创 2024-02-29 15:40:09 · 607 阅读 · 0 评论 -
qt::WA_QuitOnClose
QT::WA_QuitOnClose` 是 Qt 中的一个属性,用于在关闭主窗口时自动退出应用程序。要使用它,你可以在主窗口的构造函数或初始化代码中设置该属性。这样,当用户关闭主窗口时,应用程序将自动退出。原创 2024-02-26 19:17:04 · 344 阅读 · 0 评论 -
【QT学习笔记】QT教程:QT配合vs开发上位机
请注意,Qt Creator 和 Visual Studio 都是强大的开发工具,通过它们的集成开发环境,你可以更方便地开发和调试 Qt 项目。- 在 Qt Creator 中,你可以选择 "Open in External Editor"(在外部编辑器中打开)或直接在 Visual Studio 中打开 Qt 项目的源文件,继续在 Visual Studio 中编辑和开发。- 在 Qt Creator 中选择 "Build"(构建)菜单,然后点击 "Build"(构建)按钮,编译你的项目。原创 2024-02-26 19:15:51 · 791 阅读 · 0 评论 -
【QT学习笔记】QT教程:qt里同时修改QTableView的一列数据的字体大小
要同时修改Qt中QTableView的一列数据的字体大小,您可以使用QStyledItemDelegate。以下是一个简单的示例代码,演示如何在QTableView的特定列中更改字体大小:原创 2024-02-26 19:15:13 · 528 阅读 · 0 评论 -
【QT学习笔记】QT教程:QString用法
在Qt编程中,`QString` 是用于处理字符串的类,提供了许多方便的方法和功能,以及对 Unicode 和多种字符集的支持。下面是一些常见的`QString`用法示例:1. **创建字符串:** 可以使用构造函数或者赋值操作符来创建`QString`对象。原创 2024-02-26 17:37:55 · 350 阅读 · 0 评论 -
【QT学习笔记】QT教程:用QT加载瓦片地图的方法
具体来说,地图服务提供商先将地图按照一定的分辨率切分成标准大小(例如256x256像素)的小图片,然后根据缩放级别(Zoom Level)的不同,逐级生成更精细或更粗糙的瓦片。瓦片地图(Tile Map)是一种在网络环境下,将大范围的地图数据分割成一系列预生成的小尺寸图像文件(称为瓦片或图块),并通过特定的坐标系统和层级结构来组织这些瓦片,以便在客户端(如Web浏览器、手机应用等)按需加载并拼接展示为完整地图的一种技术手段。在Qt中加载瓦片地图可以通过几种方式实现,具体取决于您选择的地图框架和数据源。原创 2024-02-26 11:14:44 · 2272 阅读 · 1 评论 -
【QT学习笔记】QT教程:QT中emit用法
在Qt编程中,`emit` 是用于发送信号(Signals)的关键字。信号是Qt框架中的一种机制,用于在对象之间进行通信,特别是在事件驱动的编程中非常有用。通过使用信号和槽(Slots)机制,可以实现对象之间的解耦和交互。原创 2024-02-26 08:25:16 · 5181 阅读 · 3 评论 -
【QT学习笔记】QT教程:QT加载文件并通过串口发送出去
如果你想使用Qt的控件加载文件内容并通过串口发送,你可以考虑使用`QTextEdit`或`QPlainTextEdit`来显示文件内容,并通过按钮或其他触发事件的方式触发串口通信。要使用Qt加载文件并通过串口发送数据,你可以使用`QFile`类来读取文件内容,然后使用`QSerialPort`类来进行串口通信。如果你想通过`QFileDialog`和`QDir`选择文件,可以修改代码以允许用户通过文件对话框选择要发送的文件。原创 2024-02-25 15:34:04 · 1147 阅读 · 0 评论