一、enable
1介绍和要点
介绍:
"enable"相关的功能主要用于 控制界面元素(如窗口、控件、菜单动作等)的交互状态**。它的核心是
enabled属性,通过**启用或禁用**来管理用户能否与这些元素进行交互。要点:
父子控件的联动陷阱 :当父控件被禁用(
setEnabled(false))时,所有子控件会自动全部禁用。但父控件重新启用时,不会自动恢复那些被单独调用过的子控件(需单独重新启用)。区分"禁用"与"隐藏" :
setEnabled(false)只是让控件变灰且不可交互,仍占据布局空间 ;如需完全隐藏且不占位,应使用setVisible(false)或hide()。
2.属性

3.代码
cpp
ui->pushButton1->setEnabled(false);
ui->pushButton2->setEnabled(true);//默认为true

二、geometry
1.介绍和要点
介绍:
"geometry"相关的功能主要用于 控制界面元素(如窗口、控件等)的位置和尺寸**。它的核心是** 一个包含
x(横坐标)、y(纵坐标)、width(宽度)和height(高度)的矩形区域,通过设置或获取这些值来管理元素在界面中的布局。要点:
geometry与frameGeometry的区别 :对于顶层窗口 (如QMainWindow),geometry()返回的是不包含 窗口边框和标题栏的客户区矩形;而frameGeometry()返回的是包含 整个窗口框架的矩形。对于普通的子控件,两者没有区别。获取窗口几何信息的时机 :在窗口的构造函数 中调用
geometry()或frameGeometry(),得到的值可能是不准确的。这是因为窗口此时尚未完全创建和显示,其框架信息还未确定。应在show()事件之后获取,以确保值可靠。与布局管理器的冲突 :如果父控件使用了布局管理器 (如
QHBoxLayout),子控件的geometry属性可能会被布局管理器控制而无法手动设置 。此时,手动调用setGeometry()可能无效。最小/最大尺寸的限制 :通过
setGeometry()设置的尺寸会受到控件minimumSize和maximumSize属性的限制。如果设置的尺寸超出范围,控件会自动调整到允许的尺寸范围内。
2.属性

QRect了解
cpp
#include <QRect>
QRect(int x, int y, int width, int height);
// 功能:
// 构造一个矩形,指定左上角坐标和宽度、高度
// 参数说明:
// int x:
// 左上角的 x 坐标
// int y:
// 左上角的 y 坐标
// int width:
// 矩形的宽度(若为负则自动调为0)
// int height:
// 矩形的高度(若为负则自动调为0)
// 返回值:
// 无(void)
3.代码
cpp
//一号位向右和下移动10像素
int x1 = ui->pushButton1->geometry().x();//获取x的坐标
int y1 = ui->pushButton1->geometry().y();//获取y的坐标
ui->pushButton1->setGeometry(x1+10,y1+10,ui->pushButton1->width(),ui->pushButton1->height());
//二号位向左和上移动40像素
int x2 = ui->pushButton2->geometry().x();//获取x的坐标
int y2 = ui->pushButton2->geometry().y();//获取y的坐标
ui->pushButton2->setGeometry(x1-40,y1-40,ui->pushButton2->width(),ui->pushButton2->height());


三、window frame
1.介绍
window frame 指的是 window 自带的边框 ,这会导致有的窗口会带有该边框,而有的则不会;并且一定要等窗口加载出来,这个边框才会有高度和宽度。

2. 属性


四、windowTitle
1.介绍和要点
介绍:
"windowTitle"相关的功能主要用于 设置顶层窗口标题栏中显示的文本**。
要点:**
- 仅作用于顶层窗口 :该属性仅对设置了窗口标志(如
Qt::Window)的QWidget(包括QMainWindow、QDialog等)生效。普通子控件(如嵌入的QPushButton)设置此属性无效。
2. 属性

3.代码
cpp
setWindowTitle("高分少女");

五、windowIcon
1.介绍和要点
"windowIcon"相关的功能主要用于 设置顶层窗口标题栏、任务栏以及任务切换器中显示的图标**。**
2.属性

QIcon了解
cpp
#include <QIcon>
QIcon(const QString &fileName);
// 功能:
// 从指定的图像文件加载图标,支持多种格式(PNG、JPEG、BMP等)
// 若文件不存在或格式无效,则创建一个空图标
// 参数说明:
// const QString &fileName:
// 图像文件的路径(可以是资源文件或本地文件)
qrc了解
路径无关性 :无论是绝对路径 还是相对路径 ,都无法保证客户端有同样的文件结构 ,而qrc机制 将资源编译进可执行文件 ,彻底解决路径依赖问题
内存加载 :qrc将资源转换为C++代码 (二进制数据),程序运行时直接从内存加载 ,无需读取外部文件




3.代码
cpp
setWindowIcon(QIcon(":/ege.png"));

六、windowOpacity
1.介绍和要点
介绍:
"windowOpacity"相关的功能主要用于 控制顶层窗口的整体透明度**。
要点:**
仅顶层窗口生效 :该属性仅对设置了窗口标志(如
Qt::Window)的QWidget生效。普通子控件设置无效。整体透明度:设置的值会影响整个窗口,包括其所有子控件。
增量趋近0.1 :每次调整透明度时,增加或减少的值趋近于0.1,而非精确等于0.1
浮点数精度问题 :由于计算机浮点数表示的局限性 ,会出现精度不准确 的情况,例如0.1 + 0.2 ≠ 0.3
2.属性

3.代码
cpp
setWindowOpacity(0.5);
setWindowOpacity(1);


七、cursor
1.介绍和要点
介绍:
"cursor"相关的功能主要用于 控制鼠标悬停在界面元素(如窗口、控件)上时的光标外观**。
要点:**
- 继承与取消逻辑:子控件默认继承父控件的光标。
2.属性

QCursor了解
cpp
#include <QCursor>
QCursor(Qt::CursorShape shape);
// 功能:
// 构造一个光标对象,使用预定义的光标形状
// 参数说明:
// Qt::CursorShape shape:
// 光标形状枚举值,常用值包括:
// - Qt::ArrowCursor:标准箭头
// - Qt::IBeamCursor:文本输入(I形)
// - Qt::WaitCursor:等待(沙漏或旋转)
// - Qt::CrossCursor:十字准星
// - Qt::PointingHandCursor:手形(链接)
// - Qt::ClosedHandCursor:闭合手形
// - Qt::ForbiddenCursor:禁止标志
// - Qt::SizeAllCursor:四向箭头
// 返回值:
// 无(void)
3.代码
cpp
ui->pushButton->setCursor(QCursor(Qt::CrossCursor));//十字准星
八、font
1.介绍和要点
介绍:
"font"相关的功能主要用于 控制界面元素(如窗口、标签、按钮等)中显示文本的字体样式**。**
要点:
- 继承特性:子控件默认继承父控件的字体设置。
2.属性

QFont的属性

3.代码
cpp
QFont font;
font.setFamily("楷体");//字体
font.setPointSize(10);//大小
font.setItalic(true);//是否斜体
font.setUnderline(true);//是否有下划线
ui->pushButton->setFont(font);
九、focusPolicy
1.介绍和要点
介绍:
"focusPolicy"相关的功能主要用于 控制界面元素(如窗口、控件)如何通过键盘(Tab键)或鼠标点击来获得输入焦点。
要点:
所谓"焦点",指的是当前被激活、可接收用户输入的界面元素。
一旦某个控件获得焦点 ,后续的键盘操作(如输入、方向键、回车等)都会直接作用于该控件。
常见支持焦点的控件包括:输入框(QLineEdit)、单选框(QRadioButton)、复选框(QCheckBox)、按钮(QPushButton)等。
2.属性

Qt::FocusPolicy类型

重点:NoFocus是拒绝接受焦点,不是拒绝接受键盘焦点。
3.代码
cpp
ui->lineEdit->setFocusPolicy(Qt::ClickFocus);//拒绝接受键盘焦点
ui->lineEdit_2->setFocusPolicy(Qt::StrongFocus);//默认是键盘鼠标焦点
ui->lineEdit_3->setFocusPolicy(Qt::StrongFocus);//默认是键盘鼠标焦点

十、styleSheet
1.介绍和要点
介绍:
"styleSheet"相关的功能主要用于 通过CSS(层叠样式表)语法自定义界面元素(如窗口、控件)的外观样式**。
要点:**
- 作用范围与继承 :样式表具有继承性,
- 采取键值对的方式:键和值采用 : 分隔,键值对采用 ; 分隔。
