АЗ
Андрей Зимин4 августа 2016 г. 9:56

Не понятное поведение QSqlTableModel

QAbstractListModel, QPSQL, QSqlTableModel

Евгений, добрый день. Всю голову сломал, но так ответа и не нашел. Есть конечно какие-то у меня предположения, но что-то совсем из области фантастики.

В архиве очень простенький пример этой проблемы. А проблема такая.

Создаю простое подключение в БД с драйвером QPSQL все работает и все подключается. Создаю model = new QSqlTqbleModel(this, bd); и пытаюсь представить ее в listView и tableView, но ни там ни там этого не происходит, хотя данные с сервера идут и в qDebug я их вывожу.

Дальше интересней. Коментируем подключение через QPSQL и ставим QSQLITE. Больше ничего не меняем… и все отображается.

Ну и верх моего удивления. Возвращаем все обратно, т.е. QPSQL и делаем через QAbstractListModel – все отображается и работает.

Подскажите, где у меня пробел в голове?

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

7
Evgenii Legotckoi
  • 8 августа 2016 г. 17:02

День добрый, Андрей.

Вообще, не обязательно передавать базу данных в следующей строке (Там по умолчанию будет подставлено всё, что нужно):
model = new QSqlTableModel(this, db);

В заголовочном файле меня напрягает, что набор директив #define немного различный, хотя это скорее всего и не принципиально. А вот по остальному, нужно смотреть, что вы сделали в приложенном архиве. Я увеличил размер вложений до 500 кБ. Нужно смотреть проект в целом. А вообще, скорее всего какая-то ошибка в инициализации или вообще отсутствие искомых таблиц при первом обращении.

    АЗ
    • 8 августа 2016 г. 23:32
    Евгений а можете увеличить до 800 а то архив получается 769kb
      АЗ
      • 8 августа 2016 г. 23:34
      хотя там в архиве то и нет ни чего ценного. только файлы по умолчанию. и вот те что в начале передал.
        Evgenii Legotckoi
        • 9 августа 2016 г. 12:50
        Увеличил до 1-го мегабайта.
        У вас получается Postgresql используется? Довольно сумбурное описание проблемы. Больше похоже на то, что в процессе редактирования где-то была допущена небольшая ошибка. Вроде отсутствия точки с запятой в SQL запросе или что-то ещё подобное.
          АЗ
          • 10 августа 2016 г. 5:49

          Вот оно. Чудо))

          untitled.zip

            Evgenii Legotckoi
            • 10 августа 2016 г. 15:22
            Полагаю, что всё же косяк с применением QSqlTableModel был.
            Приложенный код должен быть рабочим. Может быть ошибка в самой таблице.
              АЗ
              • 10 августа 2016 г. 16:21
              Вот в этом то и парадокс, что таблица тоже рабочая. Ставлю вместо обычной модели свою. И вуаля все работает. Сам код то не меняю. просто подключаю свою модель. Ладно буду разбираться. Наверное где-то что-то упустил. Спасибо огромное за ваш труд.

                Комментарии

                Только авторизованные пользователи могут публиковать комментарии.
                Пожалуйста, авторизуйтесь или зарегистрируйтесь
                d
                • dsfs
                • 26 апреля 2024 г. 11:56

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

                • Результат:80баллов,
                • Очки рейтинга4
                d
                • dsfs
                • 26 апреля 2024 г. 11:45

                C++ - Тест 002. Константы

                • Результат:50баллов,
                • Очки рейтинга-4
                d
                • dsfs
                • 26 апреля 2024 г. 11:35

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

                • Результат:73баллов,
                • Очки рейтинга1
                Последние комментарии
                k
                kmssr9 февраля 2024 г. 2:43
                Qt Linux - Урок 001. Автозапуск Qt приложения под Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
                АК
                Анатолий Кононенко5 февраля 2024 г. 9:50
                Qt WinAPI - Урок 007. Работаем с ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
                EVA
                EVA25 декабря 2023 г. 18:30
                Boost - статическая линковка в CMake проекте под Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
                J
                JonnyJo25 декабря 2023 г. 16:38
                Boost - статическая линковка в CMake проекте под Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
                G
                Gvozdik19 декабря 2023 г. 5:01
                Qt/C++ - Урок 056. Подключение библиотеки Boost в Qt для компиляторов MinGW и MSVC Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
                Сейчас обсуждают на форуме
                Evgenii Legotckoi
                Evgenii Legotckoi2 мая 2024 г. 21:07
                Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Добрый день. По моему мнению - да, но то, что будет касаться вызовов к функционалу Андроида, может создать огромные трудности.
                IscanderChe
                IscanderChe30 апреля 2024 г. 11:22
                Во Flask рендер шаблона не передаётся в браузер Доброе утро! Имеется вот такой шаблон: <!doctype html><html> <head> <title>{{ title }}</title> <link rel="stylesheet" href="{{ url_…
                G
                Gar22 апреля 2024 г. 12:46
                Clipboard Как скопировать окно целиком в clipb?
                Павел Дорофеев
                Павел Дорофеев14 апреля 2024 г. 9:35
                QTableWidget с 2 заголовками Вот тут есть кастомный QTableView с многорядностью проект поддерживается, обращайтесь
                f
                fastrex4 апреля 2024 г. 11:47
                Вернуть старое поведение QComboBox, не менять индекс при resetModel Добрый день! У нас много проектов в которых используется QComboBox, в версии 5.5.1, когда модель испускает сигнал resetModel, currentIndex не менялся. В версии 5.15 при resetModel происходит try…

                Следите за нами в социальных сетях