Михаиллл8 марта 2020 г. 15: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);

Комментарии

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

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

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

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

Посмотреть Хостинг
V
  • Viktor
  • 14 апреля 2021 г. 15:40

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:50баллов,
  • Очки рейтинга-4
F
  • Fedya
  • 14 апреля 2021 г. 4:04

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

  • Результат:66баллов,
  • Очки рейтинга-1
КП

C++ - Тест 003. Условия и циклы

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

PyQt5 - Урок 009. Использование QThread с применением moveToThread

Hello. Let's say I want to send some variables to "run" define. How can we do that? I modified your code, I tried something like below, but the GUI is frozen that way. I could not be able to und…
R

Распознавание изображений на Python с помощью TensorFlow и Keras

почему то вместо 50000 обрабатывает по 782 картинки кажду. эпоху
R
AB

Qt/C++ - Урок 008. QDataWidgetMapper - Работа с базой данных через виджет

Понял сам так - происходит через setTable() "Sets the database table on which the model operates to tableName. Does not select data from the table, but fetches its field information", а затем че…
AB

Qt/C++ - Урок 008. QDataWidgetMapper - Работа с базой данных через виджет

Начал делать что-то похожее, но без sql. Не очень понимаю, что делает mapper->setCurrentModelIndex(model->index(row,0)); Вернее не понимаю вот что: откуда он берёт данные, кот…
Сейчас обсуждают на форуме
ВБ

Помогите переложить код QML OpenCV c PyQt5 на PySide2

Структура проекта ├── main.py ├── main.qml └── PyCVQML ................├── cvcapture.py ................├── cvitem.py ................└── init .py …

QScrollArea dynamically add QCheckBoxes

Всё правильно. Это просто спамер, который отправился в вечный бан.
d
  • dyhovka
  • 15 апреля 2021 г. 4:37

Подключение приложения qt qml к БД postgresql из приложения qt qml c++, собранное под android

Алексей, код уже написан. Приложение работает под ОС Windows, но хочется его запустить на Android. По поводу сборки драйвера, не получается найти свежей инструкции, а главное рабочей.
d
  • dyhovka
  • 15 апреля 2021 г. 3:01

Qt, Sqlite и Android. Как подключить базу данных?

Добрый день, добавил базу к ресурсам, приложение вроде как открывает БД, но данные не видет, что может быть не так? qt qml c++ под android m_db = QSqlDatabase::addDatabase("QSQLITE")…
  • BlinCT
  • 13 апреля 2021 г. 4:11

Отображение талицы в Column в qml обьекте

Проблема в том что я все таблицы перевел на вторые контролы, все таблицы на них сделаны, шаблон для них всех создан. Только под 2 эти таблицы возвпащать все на первые контролы не думаю что прави…
О нас
Услуги
© EVILEG 2015-2021
Рекомендует хостинг TIMEWEB