Qt 使用代码布局,而不使用UI布局

一、工程的建立:

1、打开Qt Creator,文件,新建文件或项目

2、选择Application,Qt Widgets Application

3、写入名称,选择qmake

4、选择基类Base class,去除Generate form

务必选择QWidget,若选择QMainWindow,会在设置layout的时候报错。

5、完成后续即可完成工程

工程目录:

二、简单的布局开发

在本例子中,为了方便了解代码布局的实现,在界面中添加两个按钮,并水平布局

头文件:widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QPushButton>
#include <QHBoxLayout>

class Widget : public QWidget
{
    Q_OBJECT
public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
private:
    QPushButton* btn01;
    QPushButton* btn02;
};
#endif // WIDGET_H

源文件:widget.cpp

#include "widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    // 新建变量
    btn01 = new QPushButton("打开", this);
    btn02 = new QPushButton("关闭", this);
    // 建立布局并放入元素
    QHBoxLayout* layout = new QHBoxLayout();
    layout->addWidget(btn01);
    layout->addWidget(btn02);
    // 配置布局
    this->setLayout(layout);
}

Widget::~Widget()
{
}

主函数:main.cpp

#include "widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}

运行结果:

注意事项:

在新建布局管理器变量时,不需要指定父类指针。

例如:QHBoxLayout* layout = new QHBoxLayout();

而不是:QHBoxLayout* layout = new QHBoxLayout(this);

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值