Как динамически создавать кнопки с QPixmaps в них и правильно изменять размер Pix-карт с помощью кнопки int C ++ Qt 5.12 - PullRequest
0 голосов
/ 17 июня 2020

, поэтому я хотел динамически создавать кнопки с растровыми изображениями в виде значков, и размер растрового изображения должен правильно изменяться вместе с кнопками. Кнопки также должны быть расположены в виде сетки в моем окне.

Мое первое намерение для этого выглядит следующим образом:

Я создал свой собственный класс, унаследованный от QWidget. Затем в этом классе я создаю динамически QPushbutton с QLable в качестве имени этой кнопки и QPixmap, который я использую как QIcon для этой кнопки. могу реализовать этот класс в сетке моего окна, где должны быть кнопки.

В моем MainWindow я создаю экземпляр своего класса ButtonLayout и реализую его в макете сетки с помощью метода setupButtonTest (), который я написал для этой цели.

void MainWindow::setupButtonsTest()
{
   m_ButtonLayout= new ButtonLayout(names(),paths(),picPaths(), this);
   m_gridLayout->addWidget(qobject_cast<QWidget*>(m_ButtonLayout));
}

Я вызываю этот метод в конструкторе моего MainWindow.

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

    m_gridLayout = new QGridLayout(this);
    m_gridLayout->setSpacing(10);
    ui->centralwidget->setLayout(m_gridLayout);

    clear();

    readConfigini();

    setupButtonsTest();
}

Когда я запускаю приложения, кнопки правильно создаются в макете сетки в моем Mainwindow, но размером мои пиксельные изображения / значки на кнопках не меняют размер вместе с кнопками ...

Я благодарен за любую помощь :)

введите описание изображения здесь

...