QT
非常Q弹
爱吃零食的白糖
一脸懵逼的学编程
展开
-
QT栅格布局的妙用
当groupBox中只有一个控件时,我们想要它满格显示可以对groupBox使用栅格布局。原创 2024-11-11 16:17:50 · 347 阅读 · 0 评论 -
Qt的程序如何打包详细教学
在打包Qt程序时,我们需要将发布程序需要切换为Release版本(Debug为调试版本),编译器会对生成的Release版可执行程序进行优化,使生成的可执行程序会更小。构建完当前项目后,找到生成的带Release后缀的构建目录。profile版本是一种介于debug和release之间的构建类型,旨在兼顾性能和调试。作为 Qt 框架的核心组件,依赖于多个其他的动态链接库(DLL)才能正常运行,其中包括。debug版本是一种开发过程中的构建,主要用于调试和开发。第二:选择打包好后文件的名称和存放路径。原创 2024-11-02 16:54:46 · 819 阅读 · 0 评论 -
Qt容器类
Qt提供了多个基于模板的容器类,例如QStringList可以用来操作QList<QString>列表。Qt还提供了一个宏foreach用于遍历容器内的所有数据项Qt容器分为顺序容器和关联容器类注意:Qt6的QVector是QList的别名!原创 2024-10-25 12:41:33 · 341 阅读 · 0 评论 -
QSystemTrayIcon系统托盘图标类
【代码】QSystemTrayIcon系统托盘图标类。原创 2024-10-24 23:27:22 · 122 阅读 · 0 评论 -
QImage和QPixmap的区别
例如,可以先使用QImage加载和处理图像,然后将处理后的图像转换为QPixmap,以便在屏幕上高效地显示。提供了快速的像素访问和绘制操作,可以直接被绘制到任何QPaintDevice派生的对象上,如QWidget和QGraphicsItem。针对屏幕渲染进行了优化,因此当需要频繁在屏幕上绘制图像时,使用QPixmap是最佳选择。与平台无关,不依赖于屏幕分辨率,因此在处理图像时,QImage可以提供更精确的像素控制。用于处理图像数据的类,提供了对图像像素的直接访问。还支持图像的转换、缩放和镜像等操作。原创 2024-10-24 22:34:15 · 159 阅读 · 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 · 242 阅读 · 0 评论 -
QPainterPath路径类
函数drawPath()绘制的是一个复合的图形,它使用一个QPainterPath类型的参数作为绘图的对象,QPainterPath类用于记录绘图的操作顺序,优点是绘制复杂图形时只需要创建一个painterpath,然后重复调用就可以了在使用QPainterPath把路径画好之后,我们需要使用QPainter的drawPath把路径画上去才行!原创 2024-10-24 10:16:54 · 405 阅读 · 0 评论 -
QPainter抗锯齿设置
这个渲染提示用于在变换(如缩放、旋转或平移)位图(pixmap)时保持其平滑。当位图被缩放或旋转时,如果没有启用这个提示,你可能会看到像素化的边缘或锯齿状的图形。启用后,Qt 会尝试使用更平滑的算法来处理位图的变换,从而减少这种效果。这个渲染提示用于在绘制矢量图形(如线条、多边形、圆形等)时启用抗锯齿效果。抗锯齿能够减少或消除图形边缘的锯齿状,使边缘看起来更加平滑。这对于提高图形的整体视觉效果非常有用。(注意:在较新的 Qt 版本中,可能更常见的是使用。原创 2024-10-23 22:32:51 · 310 阅读 · 0 评论 -
QPainter画家类
绘图设备就是能使用QPainter进行绘图的二维空间,绘图设备的基类是QPainterDevice。QWidget、QImage、QPixmap的基类都是QPainterDevice所以QPainter就是画家,QPainterDevice是画板,pen是画笔设置抗锯齿。原创 2024-10-23 20:43:22 · 155 阅读 · 0 评论 -
QListWidget+QStackedWidget
【代码】QListWidget+QStackedWidget。原创 2024-10-23 11:12:53 · 110 阅读 · 0 评论 -
QListWidget列表控件
【代码】QListWidget列表控件。原创 2024-10-23 10:36:54 · 157 阅读 · 0 评论 -
Tab Widget标签页面切换控件
QTabWidget的控件可以存储多个子窗口,每个子窗口通过对应的标签进行切换。设置标签窗口在主窗口的位置,上北下南左西右东。原创 2024-10-23 09:26:28 · 308 阅读 · 0 评论 -
QTimer定时器
QTimer是一个定时器工具类,定时器就是在间隔一定时间后去执行某个任务。如:广告弹窗自动关闭,消息自动关闭......原创 2024-10-23 00:17:00 · 319 阅读 · 0 评论 -
QSlider和QProgressBar进度条控件
QProgressBar支持自定义样式,以满足不同应用程序的需求。用户可以设置进度条的颜色、文本格式等,以提升用户体验。通过样式表(StyleSheet),用户可以轻松地修改QProgressBar的外观。原创 2024-10-22 23:46:22 · 169 阅读 · 0 评论 -
QScrollBar滑动条控件
【代码】QScrollBar滑动条控件。原创 2024-10-22 21:36:54 · 200 阅读 · 0 评论 -
QSpinBox、QDoubleSpinBox
QSpinBox是一个整数输入控件,可以粗略设置字体大小等;还支持设置前缀或后缀,提供用于显示的额外信息。允许输入和显示浮点数。原创 2024-10-22 21:15:44 · 149 阅读 · 0 评论 -
QToolButton工具按钮控件
QToolButton是Qt框架中的一个特殊且功能丰富的控件,它主要用于工具栏或类似场景中,为用户提供快速访问命令或选项的按钮。通常是文字或图片或者图片+文字!构造函数。原创 2024-10-22 20:34:01 · 495 阅读 · 0 评论 -
QRadioButton
【代码】QRadioButton。原创 2024-10-22 12:27:54 · 168 阅读 · 0 评论 -
QCheckBox复选框
两个构造函数当复选框状态改变时,会发出该信号,并返回复选框的状态。函数可以启用复选框的三态支持,即允许复选框在checked、unchecked和partially checked三种状态之间切换。平时默认是两种状态槽函数的形参要和信号的形参一一对应!!!QCheckBox常用于作表单的非互斥选择,用在可以选择多个的场景!PartiallyChecked状态。原创 2024-10-22 10:17:07 · 193 阅读 · 0 评论 -
QLabel和QLineEdit
【代码】QLabel和QLineEdit。原创 2024-10-21 22:51:27 · 61 阅读 · 0 评论 -
QT自定义按键
QWidget(因为QWidget里面包含可以继承的事件!先创建一个MyButton类,必须继承自。原创 2024-10-20 16:30:55 · 238 阅读 · 0 评论 -
QT的事件
在Qt中,事件(Event)是指由特定对象发生的动作或状态变化,这些事件可以由用户操作产生,如鼠标点击、键盘输入等,也可以由系统内部产生,如定时器超时、窗口大小改变等。我们使用的基于窗口的应用程序都是基于事件,其目的主要是用来实现回调(因为只有这样程序的效率才是最高的)。所以在Qt框架内部为我们提供了一系列的事件处理机制,当窗口事件产生之后,事件会经过:事件派发 -> 事件过滤->事件分发->事件处理四个阶段。如果我们有特殊需求就需要在合适的阶段重写事件的处理动作,比如信号与槽就是一种。原创 2024-10-20 11:25:17 · 532 阅读 · 0 评论 -
QShortcut实现快捷键
在 Qt 中实现快捷键功能通常涉及到 QShortcut 类的使用。原创 2024-10-20 09:13:28 · 307 阅读 · 0 评论 -
QFileDialog文件选择对话框
使用 QFileDialog 的基本步骤通常如下:实例化:首先,创建一个 QFileDialog 对象的实例。设置模式:根据需要设置对话框的模式,如打开文件、保存文件等。设置过滤器:如果需要,可以设置文件类型过滤器,以限制用户可以选择的文件类型。设置名称过滤器(name filter)时使用的字符串格式遵循了一个特定的模式,这个模式允许你指定多个过滤器,每个过滤器之间用双分号(;;)分隔。这种格式是为了让文件对话框能够解析并显示多个不同类型的文件过滤器。tr()函数是一个用于国际化和本地化的重要函数。原创 2024-10-16 23:52:15 · 289 阅读 · 0 评论 -
QTextStream字节流
因此,如果你想要确保以特定的编码方式读取文件,你应该在使用这些高层类时明确设置编码方式。编码的处理通常是在更高层的文本处理类(如QTextStream)中进行的。因为QFile本身并不关心文件的编码方式;它只负责读取或写入字节数据。用于处理文本数据,特别是在需要考虑字符编码和文本格式化的情况下。通过这些特性,它提供了一种灵活而强大的方式来读写和操作文本。QTextStream 是一个功能强大的类,当文件很大时,我们应该逐行读取。使用Utf8读取文件。原创 2024-10-16 16:21:47 · 205 阅读 · 0 评论 -
QT的文件操作类 QFile
QFile 是 Qt 框架中用于文件处理的一个类。它提供了读取和写入文件的功能,支持文本和二进制文 件。QFile 继承自 QIODevice ,因此它可以像其他IO设备一样使用。选择上下文相关帮助可以查看函数返回值,形参等帮助信息。原创 2024-10-16 10:41:30 · 414 阅读 · 0 评论 -
QT中使用qDebug()来替换C++的cout
还可以使用 qInfo() , qDebug() 来输出自定义类型,只要为这些类型提供了适当的输出操作符重载。此外,Qt 还 提供了 qWarning() , qCritical() 和 qFatal() 函数,用于输出不同级别的信息,分别用 于普通信息、警告、关键错误和致命错误。它提供了一种方便的方式来输出文本到标准输出(通 常是控制台),这对于调试 Qt 应用程序非常有用。使用 QDebug 的一个典型方式是通过 qDebug() 函数,它返回一个作符 << 来输出各种数据类型。原创 2024-10-15 22:26:00 · 147 阅读 · 0 评论 -
自定义信号与槽
在Qt中,自定义信号与槽是实现对象间通信的一种机制。信号和槽是Qt对象通信的核心特性,使得一个 对象能够在发生某种事件时通知其他对象。连接信号与槽:使用 QObject::connect 函数将信号与槽连接起来。当信号被发射时,连接到这个信号 的槽将被调用。定义槽:槽可以是任何普通的成员函数,但通常在类定义中用 slots 关键字标识。在上面的例子中, MyClass 有一个名为 mySignal 的信号,它带有一个整型参数。当信号被发射时,所有连接到这个信号的槽都会被调用。定义信号:在Qt中,信号是由。原创 2024-10-15 22:23:29 · 700 阅读 · 0 评论 -
QT的信号与槽
提出疑问:界面上已经有的按键,怎么操作才能让用户按下按键后有操作上的反应呢?在 Qt 中,信号和槽机制是一种非常强大的事件通信机制。这是一个重要的概念,特别是对于初学者来 说,理解它对于编写 Qt 程序至关重要。信号 (Signals):是由对象在特定事件发生时发出的消息。例如,QPushButton 有一个 clicked() 信号,当用户点击按钮时发出。槽 (Slots):是用来响应信号的方法。一个槽可以是任何函数,当其关联的信号被发出时,该槽函数 将被调用。连接信号和槽:使用。原创 2024-10-15 22:02:10 · 638 阅读 · 0 评论 -
Qt的spacer(弹簧)的SizeType属性
在Qt中,弹簧(Spacer)的SizeType属性(或称为sizeType,在代码中可能表现为类型的值)决定了弹簧在布局中的伸展行为。这些取值通常与枚举值相关联,用于指定部件(包括弹簧)在水平和垂直方向上的大小策略。对于弹簧而言,由于其是一维的(要么是水平的,要么是垂直的),因此SizeType的取值将只影响其在该维度上的行为sizeHintsizeHintsizeHintsizeHintsizeHintsizeHint。原创 2024-10-15 11:22:03 · 344 阅读 · 0 评论 -
QT实现改变窗口大小其子控件也自动调节大小
注意:一定是在MainWindows或Widget才可以添加顶层布局,才可以实现控件自适应。创建一个顶层布局即可,一定要在MainWindows或者Widget的下面!带有禁止的意思是分拆布局。原创 2024-10-14 20:31:58 · 1091 阅读 · 0 评论 -
QT工程概述
在Qt中,创建 "MainWindow" 与 "Widget" 项目的主要区别在于他们的用途和功能范围:MainWindow:这是一个包含完整菜单栏、工具栏和状态栏的主窗口应用程序框架。它适合于更复 杂的应用程序,需要这些额外的用户界面元素来提供丰富的功能和交互。Widget:这通常是一个简单的窗口,没有内置的菜单栏、工具栏或状态栏。它适合于更简单或专用 的应用程序,不需要复杂的用户界面组件。MainWindow提供了更全面的框架,而Widget则更适合简单、专注的界面。原创 2024-10-14 16:35:36 · 916 阅读 · 0 评论 -
QTabWidget、QListWidget、QStackedWidget
QStackedWidget这类似于一个卡片堆,其中只有最上面的卡片是可见的。原创 2024-07-13 17:15:35 · 248 阅读 · 0 评论 -
QComboBox
【代码】QComboBox。原创 2024-07-13 15:30:06 · 290 阅读 · 0 评论 -
QAbstractButton
(复选按钮类),(普通按钮类),(单选), and(工具按钮类)所以它定义的属性、接口函数和信号是几个按钮类共有的。原创 2024-07-13 10:01:48 · 210 阅读 · 0 评论 -
QLabel控件
不是所有的HTML标签都被支持,尤其是那些涉及到布局和复杂样式的标签。其中 frameShape 属性⽤来设置边框性质。控件支持不同的文本格式显示,这主要通过。QFrame类是可以拥有框架的小部件的基类。你提到的三种文本格式(QFrame是QLabel的父类。原创 2024-07-12 20:36:05 · 773 阅读 · 0 评论 -
qrc文件机制
图标文件路径应该是正确的,否则图标可能无法加载。图标文件路径,我们有两种选择:使用转义符号\\或正斜杠/来表示路径分隔符,不要使用反斜杠!!!如果我们所使用的路径是绝对路径,而程序最终要打包给用户使用,绝对路径显然是没法正确将图片显示出来。所以我们应该养成用相对路径的习惯,如果将图片放到程序根目录或子目录中,使用时直接搜索,但依然面临问题,如果用户无意把图片删掉,那么程序最终执行依然会缺少相应资源。图片不会被用户删掉,路径唯一原理:QRC机制使用特殊的URL格式来引用资源文件。原创 2024-07-12 17:47:14 · 431 阅读 · 0 评论 -
MOC元编译系统
moc的作用是在预编译前,用元编译器moc吧QT代码编译为标准C++所兼容的代码,再由C++编译器处理。特殊关键字(在C++里面是没有的):signals,slots......输入命令:moc 头文件命 -o 输出文件名。原创 2024-06-25 07:44:13 · 344 阅读 · 0 评论