Qt5のレイアウト設定について
Qt5について、下のようにすると、ボタンなどが全く表示されず、空のボックスが表示されます。コンパイルが通っているのでエラー?なのかどうかよくわかりませんが、コンソールに
QWidget::setLayout: Attempting to set QLayout "" on MainWindow "", which already has a layout
と表示されます。setLayoutの使い方が間違っている気がするのですが、わかる方助けてください。
//Header
#include <QMainWindow>
#include<QVBoxLayout>
#include<QLabel>
#include<QPushButton>
#include<QHBoxLayout>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
private:
};
//mainファイル
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
//cpp_file
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
QVBoxLayout *vLayout = new QVBoxLayout();
vLayout->addWidget(new QLabel("hello"));
vLayout->addWidget(new QPushButton("hello2"));
QHBoxLayout *hLayout = new QHBoxLayout();
hLayout->addLayout(vLayout);
hLayout->addWidget(new QPushButton("hello3"));
setLayout(hLayout);
}
MainWindow::~MainWindow()
{
}