Russian Qt Forum
Февраля 23, 2025, 15:16 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: 3 вопросика: QToolBox, QTableView & Model's  (Прочитано 4164 раз)
dont
Гость
« : Апреля 20, 2006, 12:38 »

hi All!
Есть у меня к Вам 3 вопросика:
1)Как вставить свой виджет в QToolBox? В моем случае это LineEdit. Никакой подобной ф-ии не нашел...
2) как получить данные из QTableView по индексу? Чего-то я или английский ниасилил в децтве, или ослеп, ничего такого найти не могу!
3)Почему когда делаю запрос к базе(MS ACCESS) таким макаром

Код:
model->setQuery("SELECT * FROM main ORDER BY ID ASC");

где model - QSqlQueryModel
все норм, а если так:
Код:
QSqlTableModel *model1 = new QSqlTableModel;
model1->setTable(QString::fromLocal8Bit("Main"));

Ничего не работает...Не пойму, в чем причина.... Может есть какие-то идеи?

Буду оооочень благодарен за ответы.
Записан
Steven_Orko
Гость
« Ответ #1 : Апреля 20, 2006, 21:14 »

Цитата: "dont"
hi All!
Есть у меня к Вам 3 вопросика:
1)Как вставить свой виджет в QToolBox? В моем случае это LineEdit. Никакой подобной ф-ии не нашел...

А что тогда делают эти функции-члены?
int addItem ( QWidget * widget, const QIcon & iconSet, const QString & text )
int addItem ( QWidget * w, const QString & text )

Цитата: "dont"

3)Почему когда делаю запрос к базе(MS ACCESS) таким макаром

Код:
model->setQuery("SELECT * FROM main ORDER BY ID ASC");

где model - QSqlQueryModel
все норм, а если так:
Код:
QSqlTableModel *model1 = new QSqlTableModel;
model1->setTable(QString::fromLocal8Bit("Main"));

Ничего не работает....

Возможно, что причина в том, что название таблицы по-умолчанию приводится к верхнему регистру. А может...
Ты смотрел пример в Assistant? Там, кажется, надо после все этого, сделать select().
Код:

        QSqlTableModel *model = new QSqlTableModel;
        model->setTable("employee");
        model->setEditStrategy(QSqlTableModel::OnManualSubmit);
        model->select();
        model->removeColumn(0); // don't show the ID
        model->setHeaderData(0, Qt::Horizontal, tr("Name"));
        model->setHeaderData(1, Qt::Horizontal, tr("Salary"));

        QTableView *view = new QTableView;
        view->setModel(model);
        view->show();
Записан
dont
Гость
« Ответ #2 : Апреля 20, 2006, 22:40 »

С первым вопросом разобрался, спасибо=)))
Второй у меня ща имеет наибольший приоритет, но ты его пропустил...=((( А то у меня кривая БД, АйДи"шники хреново проставлденные, нужно с таблицой работать а не с БД, а как получить данные по индексу в табл. ко мне никак не доходит...=(((((

по-поводу 3-го.Регистр как я понимаю роли не играет, потому что были перепробованы всевозможные варианты.Попробывал с селект"ом... Не помогло, вот код:


Код:

QSqlTableModel *model1 = new QSqlTableModel;
QTableView *table1 = new QTableView;

model1->setTable("main");
model1->setEditStrategy(QSqlTableModel::OnManualSubmit);
model1->select();

table1->setModel(model1);
table1->show();
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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