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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: как перенести вывод таблицы БД в отдельную процедуру?  (Прочитано 3085 раз)
Ринат
Гость
« : Май 18, 2015, 20:40 »

Добрый вечер. Может для кого то этот вопрос будет глупым, но я его все-таки опишу. Задача состоит вот в чем:
во всех примерах данный кусок кода
Код:
    QTableView     view;
    QSqlTableModel model;

    model.setTable("addressbook");
    model.select();
    model.setEditStrategy(QSqlTableModel::OnFieldChange);
   
    view.setModel(&model);
    view.show();

описывают в main'е, но мне его надо поместить в отдельную процедуру класса, т.к. она будет вызываться для каждой модели отдельно.
пытался перенести обычным способом а-ля
Код:
class A : public QObject
{
     
    public:
       void showTab()
{
       QTableView     view;
       QSqlTableModel model;
       model.setTable("addressbook");
       model.select();
       model.setEditStrategy(QSqlTableModel::OnFieldChange);
   
       view.setModel(&model);
       view.show();
}
     
и соответственно в main.сpp его вызывать
Код:
   А а;
   a.showTab();
но ничего не выводится, почему?
Записан
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4349



Просмотр профиля
« Ответ #1 : Май 18, 2015, 20:43 »

Потому что объекты виджета и модели разрушаются при завершении метода.
Записан
Ринат
Гость
« Ответ #2 : Май 18, 2015, 20:47 »

Потому что объекты виджета и модели разрушаются при завершении метода.
а как посоветуете справиться с этой проблемой?
Записан
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4349



Просмотр профиля
« Ответ #3 : Май 18, 2015, 20:51 »

а как посоветуете справиться с этой проблемой?
Создавать объекты этих классов не на стеке, а в куче (через new).
Записан
Ринат
Гость
« Ответ #4 : Май 18, 2015, 20:59 »

а как посоветуете справиться с этой проблемой?
Создавать объекты этих классов не на стеке, а в куче (через new).
дай Бог вам здоровья))) все получилось, спасибище!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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