5

非常に簡単なグリッド レイアウトに QPushButton を挿入しようとしていますが、事前に番号がわかりません。

ここに私が持っているものがあります:

testapp.cpp

#include "testapp.h"

testApp::testApp(QWidget *parent, Qt::WFlags flags)
    : QMainWindow(parent, flags)
{
    ui.setupUi(this);
    for (int i = 0; i < 4; i++)
    {
        for (int j = 0; j < 4; j++)
        {
            QPushButton* panelButton = new QPushButton();
            panelButton->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
            ui.PanelButtonGridLayout->addWidget(panelButton,i,j);
        }
    }
}

testApp::~testApp()
{

}

main.cpp

#include <QtGui/QApplication>

#include "testapp.h"

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

したがって、オブジェクトは現在のループの最後に削除されるため、これが機能しないことはわかっています。

QPushButton の QList (たとえば) をメインに作成し、それを testapp クラスに渡すことを考えましたが、それが良い解決策かどうかはわかりません。もっと良い方法があるかもしれません。

編集: 何らかの理由で、コンパイルされていませんでした。今です。それが来ると嫌です。

4

1 に答える 1