Проход по всем страницам элемента
Здравствуйте, возник такой вопрос.
Есть форма,на данной форме есть 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 или что-то чтобы понять на какой странице извлекать, попытался понять через данную тему тык ,но не получилось
Все выглядит так как на картинке:
![We recommend hosting TIMEWEB](/media/technical_storage/timeweb-120-90.jpg)
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
Lz
- Liza zhegalova
- June 23, 2024, 9:40 p.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:70points,
- Rating points1
ВМ
- Вета Миличенкова
- June 23, 2024, 3:25 p.m.
C++ - Test 001. The first program and data types
- Result:80points,
- Rating points4
Last comments
Qt Linux - Lesson 001. Autorun Qt application under Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Lesson 007. Working with ICMP Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий КононенкоFeb. 5, 2024, 9:50 a.m.
![EVA](/media/cache/4b/62/4b6257bdb5dfaf404a6571a1ba7910ef.webp)
EVADec. 25, 2023, 6:30 p.m.
Boost - static linking in CMake project under Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
Qt/C++ - Lesson 056. Connecting the Boost library in Qt for MinGW and MSVC compilers Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
Now discuss on the forum
![BlinCT](/media/cache/ae/4a/ae4a65663ccbf14aec7b31a6df3f29a6.webp)
BlinCTJune 25, 2024, 8 a.m.
![Evgenii Legotckoi](/media/cache/5a/49/5a499b0c8eb5e79957fec0aea35e5d98.webp)
Evgenii LegotckoiJune 24, 2024, 10:11 p.m.
![BlinCT](/media/cache/ae/4a/ae4a65663ccbf14aec7b31a6df3f29a6.webp)
BlinCTMay 5, 2024, 12:46 p.m.
![Evgenii Legotckoi](/media/cache/5a/49/5a499b0c8eb5e79957fec0aea35e5d98.webp)
Evgenii LegotckoiMay 2, 2024, 9:07 p.m.
![IscanderChe](/media/cache/c6/bd/c6bd48d511a45551f81980d558b60c04.webp)
IscanderCheApril 30, 2024, 11:22 a.m.
Пройтись по все элементам можно так:
В данном случаем забираем все виджеты по их индексу.
Я наверно как-то все таки не правильно сказал.
У меня есть виджет ToolBox(он один) в нем есть несколько страниц, внутри этих страниц есть QTableWidget, в вопрос в том как обратиться к таблице всех по очереди страниц.
Таблица у меня создается через
Если я просто пишу, к примеру
то он берет только из последней страницы
Да. Вопрос сформулировали не очень понятно первый раз, ну да ладно.
Дело в том, что Вы не правильно понимаете работу следующего кода:
Я уже понял, что newWidget - это у Вас объект класса QTableWidget , который Вы объявили в определении класса. Когда Вы создаёте объект QTableWidget (выделяете память через new) и присваиваете его переменной newWidget , то вы заменяете указатель на новый объект класса QTableWidget , поскольку эта переменная не контейнер и может содержать только один объект одновременно. Поэтому Вам удаётся забрать данные только из последней добавленной страницы.
Фактически, я не вижу в данном коде необходимости объявлять переменную newWidget в заголовке класса, поскольку можно сделать следующим образом:
То есть нужно перебирать все страницы в цикле, кастовать их в QTableWidget, и уже из скастованного объекта забирать необходимые данные.
Спасибо большое, так все получилось