Михаиллл8 марта 2020 г. 16:51

Как в Qt в диалоговом окне в строчку вставить 6 элементов

Добрый день.
Сделал диалоговое окно.
Так можно добавлять по лэйблу и какому-нибудь элементу в строку.

layout->addRow(tr("CAPEX:"), spinCapexYear1);

Скажите пожалуйста, как добавить в строку больше объектов (все спинбоксы)?

        QDialog* dlg = new QDialog;
        dlg->setWindowTitle(tr("Параметры проекта"));
        //поля для ввода        
        QDoubleSpinBox *spinCapexYear1 = new QDoubleSpinBox(dlg);
        spinCapexYear1->setMinimum(-10000000000000);
        spinCapexYear1->setMaximum(10000000000000);
        spinCapexYear1->setValue(query.value(1).toInt());
        QDoubleSpinBox *spinCapexYear2 = new QDoubleSpinBox(dlg);
        spinCapexYear2->setMinimum(-10000000000000);
        spinCapexYear2->setMaximum(10000000000000);
        spinCapexYear2->setValue(query.value(2).toInt());
        QDoubleSpinBox *spinCapexYear3 = new QDoubleSpinBox(dlg);
        spinCapexYear3->setMinimum(-10000000000000);
        spinCapexYear3->setMaximum(10000000000000);
        spinCapexYear3->setValue(query.value(3).toInt());
        QDoubleSpinBox *spinCapexYear4 = new QDoubleSpinBox(dlg);
        spinCapexYear4->setMinimum(-10000000000000);
        spinCapexYear4->setMaximum(10000000000000);
        spinCapexYear4->setValue(query.value(1).toInt());
        QDoubleSpinBox *spinCapexYear5 = new QDoubleSpinBox(dlg);
        spinCapexYear5->setMinimum(-10000000000000);
        spinCapexYear5->setMaximum(10000000000000);
        spinCapexYear5->setValue(query.value(1).toInt());

        //кнопка да/нет
        QDialogButtonBox *btn_box = new QDialogButtonBox(dlg);
        btn_box->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);

        connect(btn_box, &QDialogButtonBox::accepted, dlg, &QDialog::accept);
        connect(btn_box, &QDialogButtonBox::rejected, dlg, &QDialog::reject);

         &QPushButton::clicked, this, [&](){fileImage = QFileDialog::getOpenFileName(); ledit5->setText(fileImage);});*/

        //все группируем
        QFormLayout *layout = new QFormLayout();
        layout->addRow(tr("CAPEX:"), spinCapexYear1);
        layout->addWidget(btn_box);

        dlg->setLayout(layout);
Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.
2

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

Спасибо, так работает

        QFormLayout *layout = new QFormLayout();
        QGridLayout* gridLayout = new QGridLayout;
        gridLayout->addWidget(spinCapexYear1, 0, 0);
        gridLayout->addWidget(spinCapexYear2, 0, 1);
        gridLayout->addWidget(spinCapexYear3, 0, 2);
        gridLayout->addWidget(spinCapexYear4, 0, 3);
        gridLayout->addWidget(spinCapexYear5, 0, 4);
        layout->addRow(tr("CAPEX:"), gridLayout);
        layout->addWidget(btn_box);

        dlg->setLayout(layout);

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Как стать автором?

Внесите вклад в развитие сообщества EVILEG.

Узнайте, как стать автором сайта.

Изучить
Donate

Добрый день, Дорогие Пользователи !!!

Я Евгений Легоцкой, разработчик EVILEG. И это мой хобби-проект, который помогает учиться программированию другим программистам и разработчикам

Если сайт помог вам, и вы хотите также поддержать развитие сайта, то вы можете сделать пожертвование следующими способами

PayPalYandex.Money
Timeweb

Позвольте мне порекомендовать вам отличный хостинг, на котором расположен EVILEG.

В течение многих лет Timeweb доказывает свою стабильность.

Для проектов на Django рекомендую VDS хостинг

Посмотреть Хостинг
R

C++ - Тест 002. Константы

  • Результат:75баллов,
  • Очки рейтинга2
R

C++ - Тест 001. Первая программа и типы данных

  • Результат:73баллов,
  • Очки рейтинга1
MS

C++ - Тест 005. Структуры и Классы

  • Результат:75баллов,
  • Очки рейтинга2
Последние комментарии
V

Django - Урок 027. Добавление Google reCAPTCHA

Спасибо. Только использую декоратор не в urls.py а перед views
R

Qt WinAPI - Урок 001. Как собрать все DLL, используемые в Qt-проекте?

Вы меня не совсем правильно поняли, но все равно спасибо, принял все к сведению. Все сделал как вы сказали, все отлично работает, еще раз огромнейшее спасибо) Разве что только что были опять про…

Qt WinAPI - Урок 001. Как собрать все DLL, используемые в Qt-проекте?

Стоило перед использованием что ли инструкцию прочитать https://www.cyberforum.ru/blogs/131347/blog2457.html "После сборки при запуске требовались dll," Ясное дело стоило задепло…
R
R

Qt WinAPI - Урок 001. Как собрать все DLL, используемые в Qt-проекте?

Да, собралось. После сборки при запуске требовались dll, перекинул всю папки bin, plugins(не знаю как можно было сделать более умно). Как я понял в первой строке путь к екзешнику вставляю, втор…
Сейчас обсуждают на форуме

Как в Qt в qmenu добавить scrollarea

Вот это наследованный класс меню. Но посути это обычное меню. #pragma once#include <QtWidgets>class TransMenu : public QMenu { Q_OBJECTpublic: TransMenu(QWidget* parent = …

Qt C++ и Python

Красиво/некрасиво - это скорее моё личное отношение. Если есть возможность ограничить количество интсрументов, то лучше ограничить. Но не зацикливайтесь на этом. Если у вас есть скрипты Py…

Qt + OpenGL glDeleteVertexArrays

Я не уверен, поскольку с OpenGL очень мало работал. Но может быть OpenGL контекст виджета нужно переинициализовывать. И ещё виджет стоит удалять через метод deleteLater() а не п…

QWebEngineView не запускается если к ПК подключено несколько мониторов

Ну я имел ввиду посмотреть на другом ПК с другой графикой и парой мониторов. Как моей программе назначить использовать определенный граф. адаптер? Вот тут понятия не имею.

Счечик производительности сети

Хорошо. После работы сегодня гляну ваш код внимательно.
О нас
Услуги
© EVILEG 2015-2020
Рекомендует хостинг TIMEWEB