Как отобразить содержимое БД в форме?, в qt Creator почему-то не отображается база в TableView |
Здравствуйте, гость ( Вход | Регистрация )
Как отобразить содержимое БД в форме?, в qt Creator почему-то не отображается база в TableView |
AnnTenna |
25.2.2010, 14:25
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 25.2.2010 Пользователь №: 1483 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте, помогите пожалуйста.
Вопрос глупый, извините, с qt столкнулась недавно, поэтому еще не совсем разобралась, и мало чего понятно. Мне необходимо каким-нибудь образом отобразить содержимое базы данных(реляционной) прямиком на пользовательский интерфейс, чтоб содержимое для начала отображалось при нажатии на какую-то кнопку. Для начала, я порылась в примерах, нашла замечательную реляционную базу данных и на ней решила потренироваться. : Сделала свой проект, перенесла туда все функции с того примера. (пример называется RelationalTableModel) На мою форму помимо всего прочего добавила кнопку и TableView Вот моя кнопка:
Программа компилится, но выдаёт белое полотно вместо таблички базы, сколько бы раз на кнопку ни нажимать. g_flag: |
|
|
Litkevich Yuriy |
25.2.2010, 15:09
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Проблема тут
QSqlRelationalTableModel model; Ты создала переменную на стеке (как обычную), как только ты выйдешь за область видимости (в данном случае это функция on_btBegin_clicked) так сразу эта переменная будет удалена. Т.е. твоя модель перестанет существовать.initializeModel(&model);// создание модели по таблице такой способ инициализации модели, на мой взгляд не красив. С учётом выше сказанного, лучше сделать так: Т.е. в функции createModel() создавай (с помощью оператора new и не забудь установить ей родителя) и заполняй модель.Указатель на model лучше описать в объявлении класса, т.к. он потенциально может пригодится в дальнейшем коде П.С. посмотрел код примера RelationalTableModel его нужно очень внимательно изучить и понять, что и зачем. В нём нет такой проблемы как у тебя так как, основные объекты созданы просто в функции main а она завершится только при завершении приложения. |
|
|
Текстовая версия | Сейчас: 2.12.2024, 2:15 |