AC
Alexandru Codreanu5 февраля 2020 г. 0:23
QTableView и добавление иконки в строку.
Доброго времени суток.
Есть форма на которой присутствует tableView - выводится список документов.
Хочу реализовать в tableView вывод иконки в зависимости от состояния документа (записан, проведен).
model = new QSqlQueryModel; qry = new QSqlQuery(db->getDB()); if (db->getDB().open()){ qry->prepare("SELECT docExamen.id," "docExamen.post," "substr(docExamen.date, 9, 2) ||'.'|| substr(docExamen.date, 6, 2) ||'.'|| substr(docExamen.date, 0, 5) ||' '|| substr(docExamen.date, 11) as Date," "docExamen.number," "pacients.name ||' '|| pacients.fName ||' '|| pacients.mName||' '|| substr(pacients.birthday, 9, 2) ||'.'|| substr(pacients.birthday, 6, 2) ||'.'|| substr(pacients.birthday, 1, 4) as NamePacient," "docExamen.ticket," "users.name as Autor," "docExamen.comment FROM docExamen " "INNER JOIN pacients ON docExamen.id_pacients = pacients.id " "INNER JOIN users ON docExamen.id_users = users.id;"); if (qry->exec()){ //**************************************** /* ... реализовать добавление иконки ... */ QList<QStandardItem *> items; while (qry->next()) { if (qry->value(1).toInt() == 1){ // doc->post items.append(new QStandardItem(QIcon(":rec/img/doc_post_x32.png"), qry->value(1).toString())); } else { // doc->write items.append(new QStandardItem(QIcon(":rec/img/doc_write_x32.png"), qry->value(1).toString())); } } /* ... реализовать добавление иконки ... */ //**************************************** model->setQuery(*qry); ui->tableView->setModel(model); } else { qDebug() << "Solicitarea nereusita !!!" << endl << "Eroarea: " + qry->lastError().text(); } } //decorarea tabelului ui->tableView->hideColumn(0); ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); ui->tableView->horizontalHeader()->setStretchLastSection(true); ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
Вопросы:
1.Как правильно реализовать вывод иконки.
2.Заглядывая на будущее сортировка по столбцам (насколько я понимаю использовать QSortFilterProxyModel, но как из QSqlQueryModel в QSortFilterProxyModel)
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Пожалуйста, авторизуйтесь или зарегистрируйтесь
d
- dsfs
- 26 апреля 2024 г. 14:56
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80баллов,
- Очки рейтинга4
d
- dsfs
- 26 апреля 2024 г. 14:35
C++ - Тест 001. Первая программа и типы данных
- Результат:73баллов,
- Очки рейтинга1
Последние комментарии
Qt Linux - Урок 001. Автозапуск Qt приложения под Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Урок 007. Работаем с ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий Кононенко5 февраля 2024 г. 12:50
EVA25 декабря 2023 г. 21: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" она решит проблему , лично мне помогло.
Сейчас обсуждают на форуме
DA
Unlock Your Aesthetic Potential: Explore MSC in Facial Aesthetics and Cosmetology in India Embark on a transformative journey with an msc in facial aesthetics and cosmetology in india . Delve into the intricate world of beauty and rejuvenation, guided by expert faculty and …
Dr Gangil Academics20 апреля 2024 г. 17:45
Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Евгений, добрый день! Такой вопрос. Верно ли следующее утверждение: Любое Android-приложение, написанное на Java/Kotlin чисто теоретически (пусть и с большими трудностями) можно написать и на C+…
Павел Дорофеев14 апреля 2024 г. 12:35
Вернуть старое поведение QComboBox, не менять индекс при resetModel Добрый день! У нас много проектов в которых используется QComboBox, в версии 5.5.1, когда модель испускает сигнал resetModel, currentIndex не менялся. В версии 5.15 при resetModel происходит try…
Добрый день, уважаемый Shuric.
Вот похожий пример для Вас Пример . Вам нужно использовать делегаты, я так понимаю.
Я бы помог Вам еще больше, но к сожалению сам только учусь этому.
Добрый день. Спасибо за наведение примера, но для меня не подходит.
Делегат необходим (насколько я понимаю) для редактирования в модели, а мне необходимо было переопределить методы представления модели QSqlQueryModel
Для кого интересно решил следующим образом:
- проблема в колонки post переопределить метод представления
basesqlquerymodel.h
basesqlquerymodel.cpp
В listdocexamen.cpp реализовал:
В результате вышло следующее:
Правда иконки не очень, но главное результат.
Сейчас, понимаю что изначально был задан вопрос не корректно. Приношу свои извинения.
Доброго времени суток.
По поводу второго вопроса - сортировка по столбцам.
Реализовал следующим образом:
listdocexamen.cpp
Возникла проблема с сортировкой по столбцу Date . Понял что проблема в запросе, изменил на
сортировка отрабатывается отлично,
но как привести значение yyyy-MM-dd HH-MM-ss в dd-MM-yyy hh-mm-ss ?
basesqlquerymodel.cpp