5

デザイナーなしで手動で GUI を作成する方法を学びたいです。レイアウトを自分に追加しようとしましたMainWindowが、実行すると次のように表示されます

QWidget::setLayout: 既にレイアウトがある MainWindow "" で QLayout "" を設定しようとしています

これは私のコードです:

//Header
class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();
private:
    QHBoxLayout *layout;
};

//Constructor in my *.cpp
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    layout = new QHBoxLayout;
    this->setLayout(layout);
}

//The usual main function
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

なにが問題ですか?私は私の本が言ったことをしました。どういうわけか見つけるのが本当に難しいコードをインターネットで調べましたが、それでも同じでした。ウィンドウにレイアウトを追加できません。

4

1 に答える 1