如何在主文件中实现 QGridLayout

问题描述

我只是想在我的主窗口中获得一个简单的网格布局。

代码如下: 主窗口.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>


QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
private slots:

};
#endif // MAINWINDOW_H

mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtWidgets>
#include <QPushButton>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QGridLayout>
#include <QtCore>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent),ui(new Ui::MainWindow)
{
    ui->setupUi(this);



    QGridLayout *layout = new QGridLayout;

    QPushButton *button1 = new QPushButton("One",this);
    QPushButton *button2 = new QPushButton("Two",this);
    QPushButton *button3 = new QPushButton("Three",this);

    layout->addWidget(button1,0);
    layout->addWidget(button2,1);
    layout->addWidget(button3,1,0);

    setLayout(layout);
    setWindowTitle("buttons");


}

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

main.cpp
#include "mainwindow.h"

#include <QApplication>

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

这就是执行的内容:

executed

我试过 QGridLayout(this); 各种不同的布局方式设置

我发现我可以使用 layout 注释掉所有代码并且它对程序没有影响,即使我收到未使用变量的警告。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...