Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: dont от Апреля 20, 2006, 12:38



Название: 3 вопросика: QToolBox, QTableView & Model's
Отправлено: 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"));

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

Буду оооочень благодарен за ответы.


Название: Re: 3 вопросика: QToolBox, QTableView & Model's
Отправлено: Steven_Orko от Апреля 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();


Название: 3 вопросика: QToolBox, QTableView & Model's
Отправлено: dont от Апреля 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();