
QT
非常Q弹
爱吃零食的白糖
一脸懵逼的学编程
展开
-
QT去除窗口边框(无边框)
当你在Qt中设置一个窗口为无边框(Qt::FramelessWindowHint)时,窗口通常会失去默认的拖动和大小调整功能,因为这些功能通常依赖于窗口的边框和标题栏。就像Qt::WindowMinMaxButtonsHint 标志可能不会在无边框窗口中生效,因为它依赖于标题栏来显示最小化和最大化按钮。可能不会生效,因为无边框窗口通常不会有标题栏,也就没有最小化等按钮,从而也无法显示这些按钮。:这个标志用于在窗口的标题栏上显示最小化(Min)和最大化(Max)按钮。方法,以设置该窗口的标志(Flags)。原创 2024-11-30 10:42:50 · 2255 阅读 · 0 评论 -
QT的setLayout方法
如果这个小部件上已经安装了布局管理器,那么QWidget将不允许您安装其他布局管理器。您必须首先删除现有的布局管理器(由layout()返回),然后才能使用新布局调用setLayout()。将给定的小部件设置为主窗口的中心小部件。注意:QMainWindow获取小部件指针的所有权,并在适当的时候删除它。原创 2024-12-01 09:32:59 · 540 阅读 · 0 评论 -
QT布局详解
ui设计器设计界面很方便,为什么还要手写代码?(1)更好的控制布局(2)更好的设置qss(3)代码复用。原创 2024-11-30 17:57:12 · 402 阅读 · 0 评论 -
VS打开UI文件失败
可以参考我的去找一下:"C:\Qt\Qt5.14.2\Tools\QtCreator\bin\qtcreator.exe"选择一个UI文件,右键打开方式,要自己添加路径。然后选择自己的QT Creator路径。原创 2024-11-30 10:05:32 · 426 阅读 · 0 评论 -
跨UI发送信号
1.使用signals声明2.返回值是void3.在需要发送的地方使用 emit 信号名字(参数);进行发送4.在需要链接的地方使用connect进行链4接signals:});原创 2024-11-29 22:22:03 · 515 阅读 · 0 评论 -
QT的exec函数
方法显示对话框时,它会以模态方式运行。被调用时,它会启动一个局部的事件循环,这个循环会阻塞对对话框之外的其他窗口的访问,直到对话框被关闭。因此,对话框的显示是即时的,而代码的执行会继续进行。这一行,那么对话框将以非模态方式继续运行,这是符合预期的。方法会启动一个局部的事件循环,直到对话框被关闭,这个循环才会结束。返回的值通常用于指示对话框是如何被关闭的,例如用户点击了哪个按钮。时,对话框会以非模态方式显示,用户可以与对话框和其他窗口进行交互。是阻塞的,它会暂停代码的执行,直到对话框关闭。原创 2024-11-29 21:36:54 · 1261 阅读 · 0 评论 -
QT的槽函数的四种写法
第一种:QT4写法(不推荐)写错了编译器不会报错!第二种:QT5函数指针写法(推荐)写错了编译器会报错。原创 2024-11-29 21:14:13 · 443 阅读 · 0 评论 -
iniWindows系统配置文件
在每个节中,可以添加多个键值对。键和值之间使用等号分隔。例如:key1=value1表示在Section1节中添加了一个键名为key1,值为value1的配置项。INI文件由节(section)、键(key)和值(value)组成,通常采用“分节分条”的组织方式。:在INI文件中添加节时,需要使用方括号将节名括起来。例如:[Section1]表示一个名为Section1的节。#include <QSettings> //读取配置文件类。原创 2024-11-29 17:32:05 · 562 阅读 · 0 评论 -
QFileDialog打开目录选择类
QFileDialog类提供了一个对话框,使用户能够遍历文件系统以选择一个或多个文件或目录。它通常用于打开、保存和选择文件或文件夹,并提供了一些额外的功能,如过滤文件类型、选择多个文件等。这是Qt设计的一部分,用于区分过滤器字符串和可能跟随的其他参数(尽管在当前版本的Qt中,函数不再接受额外的参数,但这一格式仍然被保留用于向后兼容)。它标志着过滤器字符串的结束。原创 2024-11-29 16:51:55 · 598 阅读 · 0 评论 -
C++11智能指针
C++智能指针是一种类模板,用于管理动态分配的对象,确保它们能够在不再需要时被正确地释放,从而避免内存泄漏。智能指针通过封装底层的指针操作,提供了更安全的内存管理方式。是 C++ 标准库中的一个头文件,它包含了智能指针(如。)以及其他与内存管理相关的类和函数。原创 2024-11-29 10:12:41 · 134 阅读 · 0 评论 -
QStandardPaths获取电脑桌面/文档/图片等的位置
【代码】QStandardPaths获取电脑桌面/文档/图片等的位置。原创 2024-11-29 09:34:37 · 514 阅读 · 0 评论 -
QT栅格布局的妙用
当groupBox中只有一个控件时,我们想要它满格显示可以对groupBox使用栅格布局。原创 2024-11-11 16:17:50 · 398 阅读 · 0 评论 -
Qt的程序如何打包详细教学
在打包Qt程序时,我们需要将发布程序需要切换为Release版本(Debug为调试版本),编译器会对生成的Release版可执行程序进行优化,使生成的可执行程序会更小。构建完当前项目后,找到生成的带Release后缀的构建目录。profile版本是一种介于debug和release之间的构建类型,旨在兼顾性能和调试。作为 Qt 框架的核心组件,依赖于多个其他的动态链接库(DLL)才能正常运行,其中包括。debug版本是一种开发过程中的构建,主要用于调试和开发。第二:选择打包好后文件的名称和存放路径。原创 2024-11-02 16:54:46 · 3085 阅读 · 1 评论 -
Qt容器类
Qt提供了多个基于模板的容器类,例如QStringList可以用来操作QList<QString>列表。Qt还提供了一个宏foreach用于遍历容器内的所有数据项Qt容器分为顺序容器和关联容器类注意:Qt6的QVector是QList的别名!原创 2024-10-25 12:41:33 · 363 阅读 · 0 评论 -
QSystemTrayIcon系统托盘图标类
【代码】QSystemTrayIcon系统托盘图标类。原创 2024-10-24 23:27:22 · 239 阅读 · 0 评论 -
QImage和QPixmap的区别
例如,可以先使用QImage加载和处理图像,然后将处理后的图像转换为QPixmap,以便在屏幕上高效地显示。提供了快速的像素访问和绘制操作,可以直接被绘制到任何QPaintDevice派生的对象上,如QWidget和QGraphicsItem。针对屏幕渲染进行了优化,因此当需要频繁在屏幕上绘制图像时,使用QPixmap是最佳选择。与平台无关,不依赖于屏幕分辨率,因此在处理图像时,QImage可以提供更精确的像素控制。用于处理图像数据的类,提供了对图像像素的直接访问。还支持图像的转换、缩放和镜像等操作。原创 2024-10-24 22:34:15 · 307 阅读 · 0 评论 -
QImage和QPixmap
可以访问图像每个像素的颜色信息,从而实现对图像数据进行像素处理颜色数据格式(了解):RGB32:图像使用32位RGB格式存储(0xffRRGGBB)ff是浪费的,因为计算机处理一次数据一般读出字节的整数倍RGB888:图像使用24位RGB格式存储(8-8-8)ARGB32:图像使用32位RGB格式存储(0xAARRGGBB)A:透明通道RGBA32:图像使用32位RGB格式存储(0xRRGGBBAA)原创 2024-10-24 21:47:19 · 344 阅读 · 0 评论 -
QPainterPath路径类
函数drawPath()绘制的是一个复合的图形,它使用一个QPainterPath类型的参数作为绘图的对象,QPainterPath类用于记录绘图的操作顺序,优点是绘制复杂图形时只需要创建一个painterpath,然后重复调用就可以了在使用QPainterPath把路径画好之后,我们需要使用QPainter的drawPath把路径画上去才行!原创 2024-10-24 10:16:54 · 576 阅读 · 0 评论 -
QPainter抗锯齿设置
这个渲染提示用于在变换(如缩放、旋转或平移)位图(pixmap)时保持其平滑。当位图被缩放或旋转时,如果没有启用这个提示,你可能会看到像素化的边缘或锯齿状的图形。启用后,Qt 会尝试使用更平滑的算法来处理位图的变换,从而减少这种效果。这个渲染提示用于在绘制矢量图形(如线条、多边形、圆形等)时启用抗锯齿效果。抗锯齿能够减少或消除图形边缘的锯齿状,使边缘看起来更加平滑。这对于提高图形的整体视觉效果非常有用。(注意:在较新的 Qt 版本中,可能更常见的是使用。原创 2024-10-23 22:32:51 · 824 阅读 · 0 评论 -
QPainter画家类
绘图设备就是能使用QPainter进行绘图的二维空间,绘图设备的基类是QPainterDevice。QWidget、QImage、QPixmap的基类都是QPainterDevice所以QPainter就是画家,QPainterDevice是画板,pen是画笔设置抗锯齿。原创 2024-10-23 20:43:22 · 228 阅读 · 0 评论 -
QListWidget+QStackedWidget
【代码】QListWidget+QStackedWidget。原创 2024-10-23 11:12:53 · 178 阅读 · 0 评论 -
QListWidget列表控件
【代码】QListWidget列表控件。原创 2024-10-23 10:36:54 · 180 阅读 · 0 评论 -
Tab Widget标签页面切换控件
QTabWidget的控件可以存储多个子窗口,每个子窗口通过对应的标签进行切换。设置标签窗口在主窗口的位置,上北下南左西右东。原创 2024-10-23 09:26:28 · 613 阅读 · 0 评论 -
QTimer定时器
QTimer是一个定时器工具类,定时器就是在间隔一定时间后去执行某个任务。如:广告弹窗自动关闭,消息自动关闭......原创 2024-10-23 00:17:00 · 469 阅读 · 0 评论 -
QSlider和QProgressBar进度条控件
QProgressBar支持自定义样式,以满足不同应用程序的需求。用户可以设置进度条的颜色、文本格式等,以提升用户体验。通过样式表(StyleSheet),用户可以轻松地修改QProgressBar的外观。原创 2024-10-22 23:46:22 · 221 阅读 · 0 评论 -
QScrollBar滑动条控件
【代码】QScrollBar滑动条控件。原创 2024-10-22 21:36:54 · 344 阅读 · 0 评论 -
QSpinBox、QDoubleSpinBox
QSpinBox是一个整数输入控件,可以粗略设置字体大小等;还支持设置前缀或后缀,提供用于显示的额外信息。允许输入和显示浮点数。原创 2024-10-22 21:15:44 · 229 阅读 · 0 评论 -
QToolButton工具按钮控件
QToolButton是Qt框架中的一个特殊且功能丰富的控件,它主要用于工具栏或类似场景中,为用户提供快速访问命令或选项的按钮。通常是文字或图片或者图片+文字!构造函数。原创 2024-10-22 20:34:01 · 837 阅读 · 0 评论 -
QRadioButton
【代码】QRadioButton。原创 2024-10-22 12:27:54 · 206 阅读 · 0 评论 -
QCheckBox复选框
两个构造函数当复选框状态改变时,会发出该信号,并返回复选框的状态。函数可以启用复选框的三态支持,即允许复选框在checked、unchecked和partially checked三种状态之间切换。平时默认是两种状态槽函数的形参要和信号的形参一一对应!!!QCheckBox常用于作表单的非互斥选择,用在可以选择多个的场景!PartiallyChecked状态。原创 2024-10-22 10:17:07 · 245 阅读 · 0 评论 -
QLabel和QLineEdit
【代码】QLabel和QLineEdit。原创 2024-10-21 22:51:27 · 93 阅读 · 0 评论 -
QT自定义按键
QWidget(因为QWidget里面包含可以继承的事件!先创建一个MyButton类,必须继承自。原创 2024-10-20 16:30:55 · 347 阅读 · 0 评论 -
QT的事件
在Qt中,事件(Event)是指由特定对象发生的动作或状态变化,这些事件可以由用户操作产生,如鼠标点击、键盘输入等,也可以由系统内部产生,如定时器超时、窗口大小改变等。我们使用的基于窗口的应用程序都是基于事件,其目的主要是用来实现回调(因为只有这样程序的效率才是最高的)。所以在Qt框架内部为我们提供了一系列的事件处理机制,当窗口事件产生之后,事件会经过:事件派发 -> 事件过滤->事件分发->事件处理四个阶段。如果我们有特殊需求就需要在合适的阶段重写事件的处理动作,比如信号与槽就是一种。原创 2024-10-20 11:25:17 · 562 阅读 · 0 评论 -
QShortcut实现快捷键
在 Qt 中实现快捷键功能通常涉及到 QShortcut 类的使用。原创 2024-10-20 09:13:28 · 386 阅读 · 0 评论 -
QFileDialog文件选择对话框
使用 QFileDialog 的基本步骤通常如下:实例化:首先,创建一个 QFileDialog 对象的实例。设置模式:根据需要设置对话框的模式,如打开文件、保存文件等。设置过滤器:如果需要,可以设置文件类型过滤器,以限制用户可以选择的文件类型。设置名称过滤器(name filter)时使用的字符串格式遵循了一个特定的模式,这个模式允许你指定多个过滤器,每个过滤器之间用双分号(;;)分隔。这种格式是为了让文件对话框能够解析并显示多个不同类型的文件过滤器。tr()函数是一个用于国际化和本地化的重要函数。原创 2024-10-16 23:52:15 · 354 阅读 · 0 评论 -
QTextStream字节流
因此,如果你想要确保以特定的编码方式读取文件,你应该在使用这些高层类时明确设置编码方式。编码的处理通常是在更高层的文本处理类(如QTextStream)中进行的。因为QFile本身并不关心文件的编码方式;它只负责读取或写入字节数据。用于处理文本数据,特别是在需要考虑字符编码和文本格式化的情况下。通过这些特性,它提供了一种灵活而强大的方式来读写和操作文本。QTextStream 是一个功能强大的类,当文件很大时,我们应该逐行读取。使用Utf8读取文件。原创 2024-10-16 16:21:47 · 405 阅读 · 0 评论 -
QT的文件操作类 QFile
QFile 是 Qt 框架中用于文件处理的一个类。它提供了读取和写入文件的功能,支持文本和二进制文 件。QFile 继承自 QIODevice ,因此它可以像其他IO设备一样使用。选择上下文相关帮助可以查看函数返回值,形参等帮助信息。原创 2024-10-16 10:41:30 · 473 阅读 · 0 评论 -
QT中使用qDebug()来替换C++的cout
还可以使用 qInfo() , qDebug() 来输出自定义类型,只要为这些类型提供了适当的输出操作符重载。此外,Qt 还 提供了 qWarning() , qCritical() 和 qFatal() 函数,用于输出不同级别的信息,分别用 于普通信息、警告、关键错误和致命错误。它提供了一种方便的方式来输出文本到标准输出(通 常是控制台),这对于调试 Qt 应用程序非常有用。使用 QDebug 的一个典型方式是通过 qDebug() 函数,它返回一个作符 << 来输出各种数据类型。原创 2024-10-15 22:26:00 · 265 阅读 · 0 评论 -
自定义信号与槽
在Qt中,自定义信号与槽是实现对象间通信的一种机制。信号和槽是Qt对象通信的核心特性,使得一个 对象能够在发生某种事件时通知其他对象。连接信号与槽:使用 QObject::connect 函数将信号与槽连接起来。当信号被发射时,连接到这个信号 的槽将被调用。定义槽:槽可以是任何普通的成员函数,但通常在类定义中用 slots 关键字标识。在上面的例子中, MyClass 有一个名为 mySignal 的信号,它带有一个整型参数。当信号被发射时,所有连接到这个信号的槽都会被调用。定义信号:在Qt中,信号是由。原创 2024-10-15 22:23:29 · 728 阅读 · 0 评论 -
QT的信号与槽
提出疑问:界面上已经有的按键,怎么操作才能让用户按下按键后有操作上的反应呢?在 Qt 中,信号和槽机制是一种非常强大的事件通信机制。这是一个重要的概念,特别是对于初学者来 说,理解它对于编写 Qt 程序至关重要。信号 (Signals):是由对象在特定事件发生时发出的消息。例如,QPushButton 有一个 clicked() 信号,当用户点击按钮时发出。槽 (Slots):是用来响应信号的方法。一个槽可以是任何函数,当其关联的信号被发出时,该槽函数 将被调用。连接信号和槽:使用。原创 2024-10-15 22:02:10 · 664 阅读 · 0 评论