Название: QSqlTableModel и QDataWidgetMapper Отправлено: hank от Февраль 24, 2011, 18:10 Имею следующий код:
Код
Плюс ещё есть ComboBox, которым я выбираю первичный ключ (ID). Далее в соответствии с ним на визуальные компоненты должно выводиться содержимое таблицы (каждому значению ключа соответствует единственная запись в таблице). Поля в таблице имеют типы VarChar и Int. Проблема заключается в том, что когда я при помощи КомбоБокса перехожу на строку с пустыми полями, в ЛайнЭдитах, которым соответствуют поля с типом Int, остаются значения с прошлого раза. То есть содержимое ЛайнЭдита не стирается. Хотя есть тип поля - VarChar, всё работает нормально. Также в окно Дебага я постоянно получаю предупреждения: Object::connect: No such signal QObject::dataChanged(QModelIndex,QModelIndex) in itemviews\qdatawidgetmapper.cpp:382 Что это? Также мне непонятнен следующий вопрос. После различных манипуляций с таблицей меняется порядок строк в ней. Например, я заполняю таблицу строками с первичными ключами, выстроенными по возрастанию. Потом я работаю с таблицей (добавляю, удаляю значения) и порядок строк меняется (проверяю командой SELECT * FROM). Это какой-то глюк? Или же никто не гарантирует порядок хранения строк? Название: Re: QSqlTableModel и QDataWidgetMapper Отправлено: RVZ от Апрель 06, 2011, 13:45 как я предполагаю гдето в коде сигнал изменения данных комбика коннектится к функции изменения фильтра модели так вот
No such signal QObject::dataChanged(QModelIndex,QModelIndex) означает что сигнала dataChanged(QModelIndex,QModelIndex) предположительно у комбика нет есть такие http://doc.crossplatform.ru/qt/4.3.5/qcombobox.html Код причем модельку после смены фильтра надо занова проселектить а мапер промапить и как мне кажется setCurrentIndex(0) более надежнее чем toFirst() |