Mac QT水平布局和垂直布局

首先上代码

cpp 复制代码
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QPushButton>
#include<QVBoxLayout>//垂直布局
#include<QHBoxLayout>//水平布局头文件
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    //创建一个新的QWidget类型控件对象作为中心部件
    QWidget *centralWidget=new QWidget(this);
    setCentralWidget(centralWidget);
    //创建一个新的垂直布局对象
    QVBoxLayout *VBoxLayout=new QVBoxLayout();
    QPushButton *button1=new QPushButton("1",this);
    QPushButton *button2=new QPushButton("2",this);
    QPushButton *button3=new QPushButton("3",this);
    //只放大按钮的大小,不固定位置
    button3->setFixedSize(100,50);
    button1->setFixedSize(100,50);
    button2->setFixedSize(100,50);
    //把按钮添加到垂直布局里面
    VBoxLayout->addWidget(button1);
    VBoxLayout->addWidget(button2);
    VBoxLayout->addWidget(button3);
    //将垂直布局设置成中心部件的布局
    centralWidget->setLayout(VBoxLayout);
}

MainWindow::~MainWindow()
{
    delete ui;
}

在Qt中,QMainWindow 类的 setCentralWidget() 方法用于设置窗口的中心部件。QMainWindow 通常用于创建应用程序的主窗口,而中心部件是占据主窗口大部分空间的组件,通常用于显示主要的内容或功能。

setCentralWidget() 方法接受一个 QWidget 指针作为参数,这个 QWidget 将被设置为 QMainWindow 的中心部件。一旦设置了中心部件,它就会填充主窗口的客户区域(即除去菜单栏、工具栏、状态栏等区域后的空间)。

需要注意的是,一个 QMainWindow 只能有一个中心部件。如果你尝试多次调用 setCentralWidget(),之前设置的中心部件会被删除(如果它没有其他父对象的话),然后新的部件会成为中心部件。因此,在设置新的中心部件之前,请确保妥善处理之前的部件,以避免内存泄漏或其他问题。


相关推荐
油丶酸萝卜别吃3 小时前
utils.js 说明文档
开发语言·javascript·ecmascript
leisoo80976 小时前
100GBA股股票数据怎么存ClickHouseRedisMySQLJSON完整对比
大数据·linux·服务器·开发语言·python
不会代码的小猴6 小时前
21. 泛型编程上
开发语言·c++·笔记·算法
一只旭宝7 小时前
细讲C加加【9】C++ std::function与std::bind详解|仿函数、绑定器、类成员绑定、占位符、成员偏移指针
开发语言·c++·算法
coder!mq9 小时前
说几个常见的语法糖?
java·开发语言·算法
gugucoding9 小时前
38. 【Java】Stream API(下):高级操作与性能
java·开发语言
Lhan.zzZ9 小时前
在 Visual Studio 2022 中打造可扩展的动态链接库模块:从零搭建到原理解析
开发语言·c++·visual studio
心平气和量大福大10 小时前
android-实例-蒲公英-更新与安装-5-签名与生成APK
android·java·开发语言
码哥DFS10 小时前
构造函数、实例对象、对象原型 ----三者关系
开发语言·javascript·原型模式
quantdash_cc10 小时前
告别自建 Requests/BS4 网页爬虫:基于 QuantDash 搭建零维保的高性能量化行情流水线
开发语言·爬虫·python·pandas·量化·quantdash