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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTableView внутри виджета  (Прочитано 2484 раз)
Hellrider
Гость
« : Март 29, 2013, 20:09 »

Не пойму как заставить QTableView показать модель. Сам QTableView расположен в виджете и модель устанавливается скажем по нажатию кнопки, вот например:
Код:
void db_cl::slotShow(){
    QSqlTableModel model;
    model.setTable("my_db");
    model.select();
    model.setEditStrategy(QSqlTableModel::OnFieldChange);
    tv_result = new QTableView; // представление которе находится в виджете
    tv_result->setModel(&model);   
что дальше делать, что бы в представлении отобразилась таблица? Пробовал  tv_result->show(); но это не то...  Непонимающий
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #1 : Март 29, 2013, 21:24 »

у тебя модель умирает по выходе из слота. и таблица будет показываться отдельным окном а не внутри виджета (укажи ей родителя).
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Hellrider
Гость
« Ответ #2 : Март 29, 2013, 21:41 »

у тебя модель умирает по выходе из слота. и таблица будет показываться отдельным окном а не внутри виджета (укажи ей родителя).

Сделал модель глобальной, указал родителя. Но таблица не отображается, база открыта и таблица там есть, что не так  Непонимающий

Код:
db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("my_db.dat");
    db.setUserName("user");
    db.setHostName("localhost");
    db.setPassword("123456");
    if(!db.open())
        qDebug() << "error";

model.setTable("my_db");
    model.select();
    model.setEditStrategy(QSqlTableModel::OnFieldChange);
    tv_result = new QTableView(tab_2);
    tv_result->setModel(&model);
Записан
Hellrider
Гость
« Ответ #3 : Март 29, 2013, 22:33 »

Ага! нужно еще для модели кучу выделить и понеслась наконец
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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