Проход по всем страницам элемента
Здравствуйте, возник такой вопрос.
Есть форма,на данной форме есть verticalLayout, в него я добавляю наследованный от ToolBox объект
newTab = new QDynamicToolBox(this); ui->verticalLayout->addWidget(newTab);
После чего создаю страницы посредством данного кода:
newTab->addPage(fio[i]);
Сам код переопределенного класса:
void QDynamicToolBox::addPage(const QString &text){ if( ResID == 5){ QMessageBox::information(this, tr("Ошибка"), "Достигнуто максимальное количество тренеров!"); return; } else{ ResID++; newWidget = new QTableWidget(); newWidget->setRowCount(7); newWidget->setColumnCount(2); newWidget->setHorizontalHeaderItem(0, new QTableWidgetItem(tr("День недели"))); newWidget->setHorizontalHeaderItem(1, new QTableWidgetItem(tr("Время"))); for(int i=0; i<7; i++) { newWidget->setItem(i, 0, new QTableWidgetItem(Days[i])); } this->addItem(newWidget, text); for(int i=0; i< newWidget->rowCount(); i++) { newWidget->item(i,0)->setFlags(newWidget->item(i,0)->flags() & ~Qt::ItemIsEditable); } } }
И собственно вопрос, как мне пройтись по всем страницами данного элемента, чтобы извлечь данные в таблицах? Само извлечение я знаю как делать, проблема в том,как отправить туда id или что-то чтобы понять на какой странице извлекать, попытался понять через данную тему тык ,но не получилось
Все выглядит так как на картинке:
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Пожалуйста, авторизуйтесь или зарегистрируйтесь
B
- Bogdannn
- 27 марта 2024 г. 19:15
C++ - Тест 001. Первая программа и типы данных
- Результат:46баллов,
- Очки рейтинга-6
Последние комментарии
Qt Linux - Урок 001. Автозапуск Qt приложения под Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Урок 007. Работаем с ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий Кононенко5 февраля 2024 г. 1:50
EVA25 декабря 2023 г. 10:30
Boost - статическая линковка в CMake проекте под Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
Qt/C++ - Урок 056. Подключение библиотеки Boost в Qt для компиляторов MinGW и MSVC Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
Сейчас обсуждают на форуме
Как получить в массив значения из связанной модели? Спасибо, разобрался:))
AC
QML Обнулить значения SpinBox Доброго времени суток, не могу разобраться с обнулением значение SpinBox находящего в делегате. import QtQuickimport QtQuick.ControlsWindow { width: 640 height: 480 visible: tr…
Alexandru Codreanu19 января 2024 г. 11:57
BlinCT27 декабря 2023 г. 8:57
Дмитрий10 января 2024 г. 4:18
Evgenii Legotckoi12 декабря 2023 г. 6:48
Пройтись по все элементам можно так:
В данном случаем забираем все виджеты по их индексу.
Я наверно как-то все таки не правильно сказал.
У меня есть виджет ToolBox(он один) в нем есть несколько страниц, внутри этих страниц есть QTableWidget, в вопрос в том как обратиться к таблице всех по очереди страниц.
Таблица у меня создается через
Если я просто пишу, к примеру
то он берет только из последней страницы
Да. Вопрос сформулировали не очень понятно первый раз, ну да ладно.
Дело в том, что Вы не правильно понимаете работу следующего кода:
Я уже понял, что newWidget - это у Вас объект класса QTableWidget , который Вы объявили в определении класса. Когда Вы создаёте объект QTableWidget (выделяете память через new) и присваиваете его переменной newWidget , то вы заменяете указатель на новый объект класса QTableWidget , поскольку эта переменная не контейнер и может содержать только один объект одновременно. Поэтому Вам удаётся забрать данные только из последней добавленной страницы.
Фактически, я не вижу в данном коде необходимости объявлять переменную newWidget в заголовке класса, поскольку можно сделать следующим образом:
То есть нужно перебирать все страницы в цикле, кастовать их в QTableWidget, и уже из скастованного объекта забирать необходимые данные.
Спасибо большое, так все получилось