ЮрийSept. 1, 2017, 5:14 p.m.
Как остаться на выбранной позиции при обновление данных в comboBox
На форме имеются несколько combobox и при изменении, добавление в справочник данных необходимо обновлять эти combobox. Как остать на выбранной позиции и обновить данные в combobox. Данные берутся из бд mysql/
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!
- Дмитрий
- May 7, 2024, 9:40 p.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:60points,
- Rating points-1
d
- dsfs
- April 26, 2024, 4:56 p.m.
C ++ - Test 004. Pointers, Arrays and Loops
- 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, 2:50 p.m.
EVADec. 25, 2023, 11: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
добавить qlineseries в функции в функции: "GPlotter::addSeries(QString title, QVector &arr)" я вызываю метод setChart(...), я в конструктор передал адрес на QChartView элемент
BlinCTMay 5, 2024, 5:46 p.m.
Best Indian Food Restaurant In Cincinnati OH Ready to embark on a gastronomic journey like no other? Join us at App india restaurant and discover why we're renowned as the Best Indian Food Restaurant In Cincinnati OH . Whether y…
Evgenii LegotckoiMay 3, 2024, 2:07 a.m.
IscanderCheApril 30, 2024, 4:22 p.m.
Что значит остаться на выбранной позиции?
Не видя код, проблематично что-то советовать по этому вопрос. Вопрос ситуативен.
По факту можно ответить так. Когда изменяются данные, кидаете сигнала о том, что данные изменились. В обработчике сигнала работаете с ComboBox`ами и прописываете логику по изменению этих комбобоксов с учётом требований.
Например, есть список:
Заполнение combobox
Я так понимаю, Вы предварительно где-то очищаете данные в ComboBox, а потом уже заново добавляете полный список. Поэтому у Вас и сбивается индекс. Если не удалять данные, то индекс остаётся прежний.
Один из вариантов, которые Вы можете использовать, так это сохранять текущий индекс через метод QComboBox::currentIndex() в некоторую переменную, а потом уже устанавливать индекс заново после добавления списка данных.
А ещё, я мог бы посоветовать Вам использовать модель данных и QDataWidgetMapper . Ведь судя по всему у Вас там некоторая форма ввода используется...
Да я очищаю иначе у меня дублируются записи. При заполнении combobox из модели, как мне потом получить id записи?
У QDataWidgetMapper также есть метод currentIndex() , который вернёт фактически номер строки в модели данных. Этот номер строки можно использовать через QModelIndex и метод модели data() для получения любой информации из строки в модели данных, в том числе и id в базе данных.
Вообще по возможности используйте модели данных. Поначалу, конечно, мороки много, но потом просто милое дело получается. Всё аккуратно и красиво выходит.
Сделал так
Как подключить сигнал?
mapper создали через выделение памяти в куче? то есть через оператор new ?
Если нет, то перед маппером должен быть амперсанд.
Вот так
Ну тогда подключайте сигнал, как показали. Разве только можно в нотации Qt5 его переписать, через указатели.
Хотя, если Вы модель установили прямо в ComboBox, то можно и без маппера обойтись, просто делать update модели, когда добавлены новые данные.
Получается он не посылает сигнал?
Это что-то новенькое... не найден сигнал в модели. dataChanged - это сигнал, который объявлен в QAbstractItemModel.
Не понимаю как добавить в combobox
Проверьте currentText , возможно проблема в том, что property currentIndex имеет перегруженный сигнал currentIndexChanged.
хм. печально, что не заработало, как предполагалось.
Да это понятно. Просто у меня на форме много combobox-ов.
Все сделал. Применил костыли.