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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Переход с QT3 на QT4, или ломка стереотипов  (Прочитано 5838 раз)
pacmanoid
Гость
« : Июнь 29, 2006, 20:40 »

Испытываю затроуднения при переходе с QT3 на QT4, концепция библиотеки сильно изменилась. А посему пишу этот пост. Уважаемые господа модераторы сайта, если можно то нельзя ли прилепить данный пост. Думаю есть еще многие кто сидит и пишит под QT3 и рано или поздно они перейдут на QT4. У них также начнется ломка стереотипов.
Предлагаю сдесь ВСЕМ ЖЕЛАЮЩИМ задавать вопросы типа: Как сделать в QT4 что-то что делал в QT3 так...


Вопрос первый:
Раньше обновлял записи в экземпляре класса QDataTable так:

MyDataTable->refresh();

как это делать в QT4?
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #1 : Июнь 29, 2006, 22:01 »

ага можно еще расказать
как я переходил с 1 на 2
2 на 3 и так далее

да я пару прог перевел, взвыл! но что делать, приходится бежать за лошадью Улыбающийся
Записан
pacmanoid
Гость
« Ответ #2 : Июнь 30, 2006, 07:12 »

Цитировать

ага можно еще расказать
как я переходил с 1 на 2
2 на 3 и так далее


Я выбирал тему исходя из актуальности на сегоднишний день. QT3 to QT4 сегодня актуально, а Qt1 to QT2 or QT2 to QT3 сейчас не неактуально. Посмотрите сами, большинство вопросов на форуме в основном по QT3 и QT4.
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #3 : Июнь 30, 2006, 08:48 »

просто 1 темой тут не обойдешься! Улыбающийся

если че, задавай конкретный вопрос, попробуем помочь Улыбающийся
Записан
pacmanoid
Гость
« Ответ #4 : Июнь 30, 2006, 09:03 »

Цитата: "Admin"
просто 1 темой тут не обойдешься! Улыбающийся

если че, задавай конкретный вопрос, попробуем помочь Улыбающийся


Ну я ведь и задал свой первый конкретный вопрос.

Раньше обновлял записи в экземпляре класса QDataTable так:

MyDataTable->refresh();

как это делать в QT4?

понятно что теперь есть просто QTableView и к нему можно прилепить любую модель, например QSqlQeryModel. Предположим я выполнил запрос  


  model = new QSqlQueryModel;

  view = new QTableView;
  view->setModel(model);
  view->setSelectionBehavior ( QAbstractItemView::SelectRows );
  view->setSelectionMode ( QAbstractItemView::SingleSelection );
// Вот этот запрос
  model->setQuery("SELECT * FROM S_BAL ORDER BY KOD");

данные в таблице отобразились

через время я хочу обновить записи в таблиц, так как их туда забрасывает другая программа, демон под Линуксом. И кидает их каждые 15 сек туда. Стало быть надо через время обновлять данные в таблице, чтобы они не теряли актуальности.

Вот в QT3 я делал так:
MyDataTable->refresh();  И в таблице появлялись новые записи.

как это делать в QT4?
неужели надо заново делать model->setQuery("SELECT * FROM S_BAL ORDER BY KOD");
Записан
LestorN
Гость
« Ответ #5 : Июнь 30, 2006, 09:33 »

Похоже что так делать и надо...
Хотя для QSqlTableModel обновление происходить по select(); это даже в документации описано.
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #6 : Июнь 30, 2006, 11:53 »

именно так, или ручками модель перестраивать

щас это напоминает MFC архитектуру document/view
Записан
pacmanoid
Гость
« Ответ #7 : Июнь 30, 2006, 14:06 »

Ну понятно, надо будет наверное сделать так:

QString sqlStr = "SELECT * FROM S_BAL ORDER BY KOD";

...

А потом где надо то писать:

model->setQuery(sqlStr);

...
Вы так предлагаете?
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #8 : Июнь 30, 2006, 17:54 »

подход такой
но я с этими моделями неделю сидел пока вкурил что к чему
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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