
QT
文章平均质量分 95
ChoSeitaku
是一名在校大学生,目前在做C语言、C++、蓝桥杯、算法、考研数学、408的内容,后期会做深度学习、机器学习、神经网络、人工智能、AIGC、WEB3、开发相关的内容
展开
-
17.QT-Qt窗口-工具栏|状态栏|浮动窗口|设置停靠位置|设置浮动属性|设置移动属性|拉伸系数|添加控件(C++)
它是⼀个可移动的组件,它的元素可以是各种窗⼝组件,它的元素通常以图标按钮的⽅式存在。在创建⼯具栏的同时,也可以设置⼯具栏的位置,其默认位置是在窗⼝的最上⾯;在创建⼯具栏的同时指定其停靠的位置,指的是程序运⾏时⼯具栏默认所在的位置;⼀种是在创建⼯具栏的同时指定停靠的位置,另⼀种是通过QToolBar类提供的setAllowedAreas()函数来设置。浮动窗⼝⼀般是位于核⼼部件的周围,可以有多个。说明:若设置⼯具栏为不移动状态,则设置其停靠位置的操作就不会⽣效,所以设置⼯具栏的移动属性类似于总开关的效果。原创 2025-04-23 15:01:51 · 988 阅读 · 0 评论 -
16.QT-Qt窗口-菜单栏|创建菜单栏|添加菜单|创建菜单项|添加分割线|添加快捷键|子菜单|图标|内存泄漏(C++)
Qt窗⼝是通过QMainWindow类来实现的。QMainWindow是⼀个为⽤⼾提供主窗⼝程序的类,继承⾃QWidget类,并且提供了⼀个预定义的布局。QMainWindow包含⼀个菜单栏(menu bar)、多个⼯具栏(tool bars)、多个浮动窗⼝(铆接部件)(dock widgets)、⼀个状态栏(status bar) 和⼀个中⼼部件(central widget),它是许多应⽤程序的基础,如⽂本编辑器,图⽚编辑器等。原创 2025-04-23 10:22:15 · 915 阅读 · 0 评论 -
15.QT-容器类控件|Group Box|Tab Widget|垂直布局|水平布局|网格布局|表单布局|Spacer(C++)
上述案例中,直接设置 setRowStretch 效果不明显,因为每个按钮的⾼度是固定的.需要把按钮的垂直⽅向的 sizePolicy 属性设置为 QSizePolicy::Expanding 尽可能填充满布局管理器,才能看到效果.这种设定⽅式其实并不⽅便.尤其是界⾯如果内容⽐较多,不好计算.⽽且⼀个窗⼝⼤⼩往往是可以调整的,按照绝对定位的⽅式,也⽆法⾃适应窗⼝⼤⼩.此处也要注意,设置⾏和列的时候,如果设置的是⼀个很⼤的值,但是这个值和上⼀个值之间并没有其他的元素,那么并不会在中间腾出额外的空间.原创 2025-04-22 17:25:45 · 1145 阅读 · 0 评论 -
14.QT-多元素控件|QListWidget|QTableWidget|QTreeWidget(C++)
以QTableWidget和QTableView为例.xxWidget基于xxView同时把model和controller都帮我们实现好了拿过来就可以使用.人家提供了功能很方便的api,让我们直接就用。原创 2025-04-21 21:49:35 · 764 阅读 · 0 评论 -
13.QT-DateTime Edit|Dial|Slider|日期计算器|调整窗口透明度|调整窗口大小|自定义快捷键(C++)
设置-减⼩value,设置=增加value.默认情况下滑动条可以通过⽅向键或者pageUp/pageDown调整⼤⼩.1)在界⾯上创建滑动条和label2)编写初始化代码3)创建 valueChanged 的slot函数ui->label->setText("当前的值为: " + QString::number(value));4)修改widget.cpp构造函数,增加快捷键使⽤ QShortCut 类设置快捷键.原创 2025-04-21 14:30:38 · 880 阅读 · 0 评论 -
12.QT-Combo Box|Spin Box|模拟点餐|从文件中加载选项|调整点餐份数(C++)
因此Qt就⾃⼰打造了⼀套库,实现了字符串,容器,⽂件操作,多线程,⽹络操作,定时器,正则表达式等内容.(由于C++标准委员会的不作为,⾄今仍然有些Qt提供的功能,是标准库不具备的)使⽤ QSpinBox 或者 QDoubleSpinBox 表⽰"微调框",它是带有按钮的输⼊框.可以⽤来输⼊整数/浮点数.通过点击按钮来修改数值⼤⼩.之所以存在两套,是因为Qt诞⽣较早(1991年左右),此时C++还没有完成"标准化"的⼯作,C++标准库这样的概念⾃然也没有诞⽣.1)在界⾯上创建三个下拉框,和⼀个按钮.原创 2025-04-21 14:21:32 · 1019 阅读 · 0 评论 -
11.QT-输入类控件|Line Edit|Text Edit|录入个人信息|验证输入框数据|验证两次输入一致|切换显示密码|获取多行输入内容|验证输入框各种信号(C++)
此处要求在输⼊框中输⼊⼀个合法的电话号码(1开头,11位,全都是数字).如果验证不通过,则确定按钮⽆法点击.正则表达式是⼀种在计算机中常⽤的,使⽤特殊字符描述⼀个字符串的特征的机制.在进⾏字符串匹配时⾮常有⽤.3)执⾏程序,可以看到当输⼊框中的内容发⽣变化时,label中的内容同步发⽣改变.4)执⾏程序,可以看到,随着⽤⼾输⼊内容之后,点击按钮,就能打印到输⼊的信息。QLineEdit ⽤来表⽰单⾏输⼊框.可以输⼊⼀段⽂本,但是不能换⾏.1)在界⾯上创建三个输⼊框和两个单选按钮,⼀个普通按钮.原创 2025-04-20 21:16:09 · 977 阅读 · 0 评论 -
10.QT-显示类控件|LCD Number|ProgressBar|Calendar Widget(C++)
Qt中规定,任何对于GUI上内容的操作,必须在主线程中完成.像Widget构造函数,以及connect连接的slot函数,都是在主线程中调⽤的.⽽我们⾃⼰创建的线程则不是.⽐如调整了某个元素的尺⼨,就可能影响到内部的⽂字位置,或者其他元素的位置.这⾥⼀连串的修改,都是需要按照⼀定的顺序来完成的.这样的约定主要是因为GUI中的状态往往是牵⼀发动全⾝的,修改⼀个地⽅,就需要同步的对其他内容进⾏调整.⽐如需要读取⼀个很⼤的⽂件,就可以获取⽂件的总的⼤⼩,和当前读取完毕的⼤⼩,来设置进度条的⽐例.原创 2025-04-20 16:37:04 · 990 阅读 · 0 评论 -
9.QT-显示类控件|Label|显示不同格式的文本|显示图片|文本对齐|自动换行|缩进|边距|设置伙伴(C++)
此处的 resizeEvent 函数我们没有⼿动调⽤,但是能在窗⼝⼤⼩变化时被⾃动调⽤.这个过程就是依赖C++中的多态来实现的.Qt框架内部管理着QWidget对象表⽰咱们的窗⼝.在窗⼝⼤⼩发⽣改变时,Qt就会⾃动调⽤ resizeEvent 函数.但是由于实际上这个表⽰窗⼝的并⾮是QWidget,⽽是QWidget的⼦类,也就是咱们⾃⼰写的Widget.此时虽然是通过⽗类调⽤函数,但是实际上执⾏的是⼦类的函数(也就是我们重写后的 resizeEvent ).原创 2025-04-20 14:06:46 · 721 阅读 · 0 评论 -
8.QT-按钮类控件|Push Button|Radio Button|Check Box|Tool Button(C++)
五个按钮的objectName分别为 pushButton_target , pushButton_up ,pushButton_down ,pushButton_left , pushButton_right 五个按钮的初始位置随意,其中 pushButton_target 尺⼨设置为。QCheckBox 表⽰复选按钮.可以允许选中多个.和 QCheckBox 最相关的属性也是 checkable 和 checked ,都是继承⾃QAbstractButton .原创 2025-04-20 09:29:26 · 986 阅读 · 0 评论 -
7.QT-常用控件-QWidget|font|toolTip|focusPolicy|styleSheet(C++)
CSS中可以设置的样式属性⾮常多.基于这些属性Qt只能⽀持其中⼀部分,称为QSS(Qt Style Sheet).具体的⽀持情况可以参考Qt⽂档中"Qt Style Sheets Reference"章节.此处只是进⾏⼀个简单的演⽰.另外,Qt Designer只能对样式的基本格式进⾏校验,不能检测出哪些样式不被Qt⽀持.⽐如 textalign: center 这样的⽂本居中操作,就⽆法⽀持.所谓"样式",包括不限于⼤⼩,位置,颜⾊,间距,字体,背景,边框等.原创 2025-04-19 15:03:56 · 712 阅读 · 0 评论 -
6.QT-常用控件-QWidget|windowTitle|windowIcon|qrc机制|windowOpacity|cursor(C++)
1)创建qrc资源⽂件,添加前缀 / ,并加⼊ huaji.jpg//创建⼀个位图对象, 加载⾃定义光标图⽚//缩放图⽚为 100 * 100 的尺⼨//构造光标对象//设置光标delete ui;这个默认情况下,鼠标点击时,相当于图片的左上角在进行点击热点所在的位置以图片左上角为0,0原点,找到10,10 这个位置作为鼠标真正点击的位置了.通过这个函数对图片进行缩放注意缩放不是修改图片对象本身,而是返回一个新的图片对象副本。原创 2025-04-19 11:11:39 · 772 阅读 · 0 评论 -
5.QT-常用控件-QWidget|enabled|geometry|window frame(C++)
实现图形化界面的程序.Qt中已经给我们提供了很多的“控件"就需要学习和了解这些控件,学会如何使用这些控件编程讲究的是“站在巨人的肩膀上”,而不是“从头发明轮子"一个图形化界面上的内容,不需要咱们全都从零去实现.Qt中已经提供了很多内置的控件了(按钮,文本框,单选按钮,复选按钮,下拉框.) 咱们拿过来就能直接使用.原创 2025-04-18 21:17:03 · 1114 阅读 · 0 评论 -
4.QT-信号和槽|存在意义|信号和槽的连接方式|信号和槽断开|lambda表达式|信号和槽优缺点(C++)
Qt5在Qt4的基础上提⾼了信号与槽的灵活性,允许使⽤任意函数作为槽函数。但如果想⽅便的编写槽函数,⽐如在编写函数时连函数名都不想定义,则可以通过Lambda表达式来达到这个⽬的。Lambda表达式是C++11增加的特性。C++11中的Lambda表达式⽤于定义并创建匿名的函数对象,以简化编程⼯作。Lambda表达式的语法格式如下capture捕获列表params参数表opt函数选项ret返回值类型函数体。原创 2025-04-18 11:15:28 · 596 阅读 · 0 评论 -
3.QT-信号和槽|自定义槽函数|自定义信号}自定义的语法}带参数的信号和槽(C++)
在Qt中,⽤⼾和控件的每次交互过程称为⼀个事件。⽐如"⽤⼾点击按钮"是⼀个事件,"⽤⼾关闭窗⼝"也是⼀个事件。每个事件都会发出⼀个信号,例如⽤⼾点击按钮会发出"按钮被点击"的信号,⽤⼾关闭窗⼝会发出"窗⼝被关闭"的信号。Qt中的所有控件都具有接收信号的能⼒,⼀个控件还可以接收多个不同的信号。对于接收到的每个信号,控件都会做出相应的响应动作。例如,按钮所在的窗⼝接收到"按钮被点击"的信号后,会做出"关闭⾃⼰"的响应动作;原创 2025-04-18 11:05:34 · 1055 阅读 · 0 评论 -
2.QT初识-实现hello world|图形化方式|纯代码方式|对象树|乱码|编辑框|按钮|坐标系(C++)
使用自己定义的MyLabel代替原来的QLabel,所谓的继承本质上是扩展,保持原有功能不变的基础上,给对象扩展出一个析构函数,通过析构函数,打印一个自定义的内容,方便观察程序运行效果。使用qDebug,打印的调试日志,是可以统一进行关闭的,这样程序发布的时候,用户就看不到日志,可以通过编译开关,统一关闭。上述代码在Qt中不会出现内存泄漏。Qt原生的api中,涉及到的接口,用的是Qt自己的容器。创建自定义的类,最主要的目的,是自定义一个析构函数,在析构函数中,完成打印,方便看到最终的自动销毁对象的效果。原创 2025-04-17 13:59:41 · 1018 阅读 · 0 评论 -
1. QT|创建项目|代码解释|main.cpp|widget.h|widget.cpp|widget.ui|Empty.pro(C++)
h .cpp .pro .ui都是源代码编译运行Qt项目,构建过程中还会生成中间文件打开文件资源管理器在运行一次程序后,就会在项目目录并列的地方,多出来一个build目录。这个目录里就是该项目运行过程中,生成的一些临时文件。编译Qt程序还是会用到maikfile。这个makefile是qmake自动生成的ui_widget.h:就是xml文件生成的.h文件,是代码自动生成的。原创 2025-03-16 10:16:32 · 746 阅读 · 0 评论 -
0.QT概述|下载|配置环境
Qt是⼀个跨平台的C++图形⽤⼾界⾯应⽤程序框架。它为应⽤程序开发者提供了建⽴艺术级图形界⾯所需的所有功能。它是完全⾯向对象的,很容易扩展。Qt为开发者提供了⼀种基于组件的开发模式,开发者可以通过简单的拖拽和组合来实现复杂的应⽤程序,同时也可以使⽤C++语⾔进⾏⾼级开发。图形⽤⼾界⾯:指采⽤图形⽅式显⽰的计算机操作⽤⼾界⾯,是计算机与其使⽤者之间的对话接⼝,是计算机系统的重要组成部分。原创 2025-03-04 14:22:18 · 772 阅读 · 0 评论