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

Mac QT水平布局和垂直布局

首先上代码

#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(),之前设置的中心部件会被删除(如果它没有其他父对象的话),然后新的部件会成为中心部件。因此,在设置新的中心部件之前,请确保妥善处理之前的部件,以避免内存泄漏或其他问题。

在这里插入图片描述
在这里插入图片描述

相关文章:

  • 怎么用idea打jar包
  • 【从0带做】基于Springboot3+Vue3的文物展览系统
  • Web 架构之数据读写分离
  • 2025 年数维杯数学建模 C 题完整论文代码模型
  • javax.net.ssl.SSLHandshakeException: No appropriate protocol
  • 系分论文《论多云架构治理的分析和应用》
  • 支持向量机案例
  • 服务器不备案有影响吗
  • Docker组件详解:核心技术与架构分析
  • O2OA(翱途)服务器故障排查
  • IM系统群消息推送方案
  • 发那科机器人4(编程实例)
  • 死锁的形成
  • 嵌入式开发学习(第二阶段 C语言基础)
  • 学习黑客威胁情报(Threat Intelligence)
  • TensorFlow深度学习实战(15)——编码器-解码器架构
  • docker 日志暴露方案 (带权限 还 免费 版本)
  • 阿里云 SLS 多云日志接入最佳实践:链路、成本与高可用性优化
  • c/c++的Libevent 和OpenSSL构建HTTPS客户端详解(附带源码)
  • Python毕业设计219—基于python+Django+vue的房屋租赁系统(源代码+数据库+万字论文)
  • 工程院院士葛世荣获聘任为江西理工大学校长
  • 长期对组织隐瞒真实年龄,广元市城发集团原董事韩治成被双开
  • 中铁房地产24.7亿元竞得上海松江新城宅地,溢价率20.42%
  • 印度外交秘书:“朱砂行动”不针对军事设施,无意升级事态
  • 上海质子重离子医院二期项目启动,有望成为全世界最大粒子治疗中心
  • 首届上海老年学习课程展将在今年10月举办