当前位置: 首页 > news >正文

Qt C++ GUI 函数参数速查手册:基础与布局


一:窗口与顶级属性 (Window & Top-Level Properties)

这部分函数,决定了“窗口”的整体风格和基础行为。

  1. setWindowFlags(Qt::WindowFlags flags)

    • flags: 一个或多个 Qt:: 枚举值的组合,用 | 连接。
    • 作用: 定义窗口的整体行为和外观(如无边框、置顶)。
    • 示例: setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint); // 无边框且置顶。
  2. setWindowTitle(const QString &title)

    • title: 要显示的窗口标题文本。
    • 作用: 设置窗口标题栏的文字。
  3. setWindowIcon(const QIcon &icon)

    • icon: QIcon 对象,通常由资源路径创建。
    • 作用: 设置窗口标题栏和任务栏的图标。
    • 示例: setWindowIcon(QIcon(":/a/app_icon.png"));
  4. setStyleSheet(const QString &styleSheet)

    • styleSheet: 一个包含 QSS 代码的字符串。
    • 作用: 为控件和其子控件应用层叠样式表。
    • 示例: this->setStyleSheet("QDialog { background-color: #042739; }");
  5. show(): 显示窗口(非模态)。调用后,代码会继续往下执行。

  6. exec(): 显示模态对话框。窗口关闭前,代码会阻塞在此处,并返回一个结果(如 QDialog::Accepted)。

  7. close(): 关闭窗口。会触发一个 closeEvent,可以被拦截。


第二章:控件创建与配置 (Widget Creation & Configuration)
  1. new QLabel() / new QPushButton() / new QLineEdit(): 创建控件实例。

  2. setPixmap(const QPixmap &pixmap)

    • pixmap: 一个 QPixmap 图片对象。
    • 作用: 在 QLabel 上显示图片。
    • 链式调用: 常与 .scaled() 配合使用。
    • 示例: label->setPixmap(QPixmap(":/a/logo.png").scaled(64, 64, Qt::KeepAspectRatio));
  3. setFixedSize(int width, int height)

    • width, height: 固定的宽度和高度(像素)。
    • 作用: 锁定控件尺寸,禁止布局系统改变它。
  4. setEchoMode(QLineEdit::EchoMode mode)

    • mode: QLineEdit:: 枚举值,如 Password
    • 作用: 控制 QLineEdit 的文本回显方式。
    • 示例: setEchoMode(QLineEdit::Password); // 显示为密码黑点。
  5. setObjectName(const QString &name)

    • name: 一个在程序中唯一的字符串ID。
    • 作用: 为QSS的ID选择器 (#name) 提供目标,实现精准样式设置。

第三章:核心灵魂:布局管理 (Layout Management)

3.1 创建与应用

  1. QLayout(QWidget *parent)
    • parent: 指向要应用此布局的父控件的指针。
    • 作用: 创建布局并立即将其设置给 parent 控件。
    • 示例: QVBoxLayout* vLayout = new QVBoxLayout(this); // 为当前窗口设置垂直布局。

3.2 添加内容

  1. addWidget(QWidget *widget, int stretch = 0, Qt::Alignment alignment = {})

    • widget: 要添加的控件指针。
    • stretch: 【可选】伸展系数,0表示不伸展。
    • alignment: 【可选】此控件在布局单元格内的独立对齐方式。
  2. addLayout(QLayout *layout, int stretch = 0)

    • layout: 要嵌套的子布局指针。
    • stretch: 【可选】此子布局的整体伸展系数。
  3. addSpacing(int size)

    • size: 固定的空白区域大小(像素)。
    • 作用: 添加一个固定大小的、不可见的间距。
  4. addStretch(int stretch = 1)

    • stretch: 伸展系数,决定了它在分配额外空间时所占的比例
    • 作用: 添加一个可伸缩的“弹簧”,用于对齐和填充留白。

3.3 控制空间

  1. setSpacing(int spacing)

    • spacing: 布局内所有相邻项之间的统一间距(像素)。
  2. setContentsMargins(int left, int top, int right, int bottom)

    • left, top, right, bottom: 布局内容距离其四条边的距离(像素)。
  3. setAlignment(Qt::Alignment alignment)

    • alignment: Qt:: 枚举值,定义布局内所有项的整体对齐方式。
    • 作用: 控制宏观对齐。
    • 示例: mainLayout->setAlignment(Qt::AlignCenter); // 内部所有模块水平居中。

3.4 动态修改

  1. removeWidget(QWidget *widget)
    • widget: 要从布局中移除的控件指针。
    • 作用: 将控件从布局的管理中移除,但不会 delete 这个控件。移除后通常需要调用 widget->setParent(nullptr)widget->hide()

http://www.xdnf.cn/news/1200943.html

相关文章:

  • RK3568 Linux驱动学习——Linux驱动开发准备工作
  • 【科研绘图系列】R语言绘制边际云雨图散点图
  • 基于大模型的预训练、量化、微调等完整流程解析
  • rust-模块树中引用项的路径
  • 1439-素数环2
  • 扩展组件(uni-ui)之uni-group
  • 硅基计划3.0 学习总结 肆 二叉树 初版
  • 疯狂星期四文案网第21天运营日记
  • 剑指offer第2版:双指针+排序+分治+滑动窗口
  • QT6 源,七章对话框与多窗体(17)用于辅助多文档 MDI 窗体设计 QMdiArea 的类 QMdiSubWindow:
  • MySQL 8.4 Windows 版安装记录与步骤参考
  • 《频率之光:群星之我》
  • mmap的调用层级与内核态陷入全过程
  • 依赖倒置原则 Dependency Inversion Principle - DIP
  • 不坑盒子突然不见了怎么办?
  • VILA系列论文解读
  • 详细解释一个ros的CMakeLists.txt文件
  • AI大模型前沿:Muyan-TTS开源零样本语音合成技术解析
  • 自然语言处理NLP (1)
  • 【I】题目解析
  • vmware虚拟机中显示“网络电缆被拔出“的解决方法
  • rust-包和箱子
  • RHEL9 网络配置入门:IP 显示、主机名修改与配置文件解析
  • 电动汽车转向系统及其工作原理
  • 8.c语言指针
  • Web开发系列-第0章 Web介绍
  • SQL注入SQLi-LABS 靶场less21-25详细通关攻略
  • Ubuntu普通用户环境异常问题
  • 数学建模——灰色关联分析
  • 三、构建一个Agent