crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

dzyk
  опции профиля:
сообщение 12.9.2008, 15:35
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 21
Регистрация: 13.4.2008
Пользователь №: 148

Спасибо сказали: 0 раз(а)




Репутация:   0  


Вообщем, хочу сделать так, чтобы TableModel после изменения одной из ячеек строке в 100ой, например - виджет снова вернулся на 100ую строку, которую редактировал пользователь. Для этого хочу отловить событие
void QAbstractItemModel::dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ) [signal]

.. и ничего не получается :(

сигнал принимает объект главного окна... отлично обрабатываются события от QAbstractItemView.
А вот QSqlTableModel и QAbstractItemModel ну никак ... помогите.!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
dzyk
  опции профиля:
сообщение 12.9.2008, 19:11
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 21
Регистрация: 13.4.2008
Пользователь №: 148

Спасибо сказали: 0 раз(а)




Репутация:   0  


Litkevich Yuriy, Огромное спасибо. Ошибка у меня где то в коде проекта. Написал простой пример и все в нем ОК.
 #include <QtGui>
 #include <QtSql>

 int main(int argc, char *argv[]) {
 
    QApplication app(argc, argv);
 
    QSqlDatabase db;   

    db = QSqlDatabase::addDatabase("QSQLITE", "base_ex.db");
    QString file="base_ex.db";
    db.setDatabaseName(file);
    db.open();
   
     QSqlTableModel *sqm_tecushie;
     sqm_tecushie = new QSqlTableModel(0,db);
     sqm_tecushie->setTable("sample");
     sqm_tecushie->select();
  
 
     QTableView *view = new QTableView();
     view->setModel(sqm_tecushie);
 
      
     view->resizeRowsToContents();
     view->resizeColumnsToContents();
     view->show();
     
     QTableView *view2 = new QTableView();
     view2->setModel(sqm_tecushie);
     
     QObject::connect(sqm_tecushie,
     SIGNAL( dataChanged ( const QModelIndex &, const QModelIndex &) ),
     view2,
     SLOT(show()));
     
     
 
     return app.exec();
 }
Причина редактирования: не забываем тэг: code=cpp
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 12.7.2025, 0:15