Russian Qt Forum
Ноябрь 24, 2024, 12:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTableView empty in Qt4.7  (Прочитано 6344 раз)
cya-st
Гость
« : Декабрь 29, 2010, 23:31 »

Всем привет. На виджет ставлю QTableView, клас выглядит следующим образом:
Код:
FTest::FTest(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::FTest)
{
    ui->setupUi(this);

    QSqlTableModel model1;
    model1.setTable("table1");
    model1.select();
    model1.setEditStrategy(QSqlTableModel::OnFieldChange);
    ui->tableView->setModel(&model1);
    ui->tableView->show();
}
...
после запуска приложения TableView пустой, тоесть не отображаются записи таблицы. Под Qt4.6.2 все работало.
Записан
Kolobok
Гость
« Ответ #1 : Декабрь 29, 2010, 23:42 »

Не создавай модель на стеке.
Записан
cya-st
Гость
« Ответ #2 : Декабрь 30, 2010, 09:53 »

Динамически пробовал, также ничего не выводится
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Декабрь 30, 2010, 10:29 »

table1 существует? Записи в ней есть?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
cya-st
Гость
« Ответ #4 : Декабрь 30, 2010, 12:06 »

В 4.6.2 версии все работало, после перехода на версию 4.7 перестало отображатся, колонки тоже не отображаются.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Декабрь 30, 2010, 12:21 »

1. Коннект к базе есть? (может драйвер не собрал какой-нибудь).
2. Что выдает model1->lastError ().text ()?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
cya-st
Гость
« Ответ #6 : Декабрь 30, 2010, 22:16 »

model1.lastError().text(); выдает:
"Unable to find table table1"
но таблица существует.
Записан
cya-st
Гость
« Ответ #7 : Декабрь 30, 2010, 22:20 »

Если делаю через SQL запрос:
Код:
    QSqlQueryModel model2 = new QSqlQueryModel;
    model2->setQuery("select * FROM table1;");
    ui->tableView->setModel(model2);
то все прекрасно работает.
Записан
cya-st
Гость
« Ответ #8 : Декабрь 30, 2010, 22:23 »

БД: PostgreSQL 9.0
Записан
cya-st
Гость
« Ответ #9 : Декабрь 31, 2010, 20:07 »

Поставил PostgreSQL 8.4 и проблема решилась.
Всем спасибо за ответы.
Записан
arial
Гость
« Ответ #10 : Декабрь 31, 2010, 21:48 »

Драйвер для Postgres недавно пофиксили, чтобы нормально с девятой версией работал.
Записан
cya-st
Гость
« Ответ #11 : Январь 04, 2011, 19:43 »

Драйвер для Postgres недавно пофиксили, чтобы нормально с девятой версией работал.
где его можно взять?
Записан
crossly
Гость
« Ответ #12 : Январь 05, 2011, 09:51 »

http://qt.gitorious.org/qt/qt/blobs/history/4.7/src/sql/drivers/psql/qsql_psql.cpp
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 23.