Russian Qt Forum
Ноябрь 24, 2024, 13:28 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: tableview  (Прочитано 7041 раз)
sinj
Гость
« : Июнь 08, 2009, 15:17 »

добрый день!

Такой вопрос: в сабж загружены некоторые значения. Необходимо по дабл-клику из строки выбрать столбец, допустим под номером 3 и присвоить некоторой текстовой переменной его значение. Использую QSqlQueryModel. Нашел на форуме несколько тем по данному вопросу, но сам разобраться не смог. Подскажите, как это реализуется!
« Последнее редактирование: Июнь 08, 2009, 15:21 от sinj » Записан
ритт
Гость
« Ответ #1 : Июнь 08, 2009, 15:24 »

QSqlQueryModel - модель для отображения результатов запроса. всё.
Записан
sinj
Гость
« Ответ #2 : Июнь 08, 2009, 15:31 »

так как мне получить в множестве строк- ту на которую два раза щелкнул и из нее выбрать значение допустим 3 столбца?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #3 : Июнь 08, 2009, 15:46 »

см. общее описание: Обработка выбора элементов в представлениях
« Последнее редактирование: Июнь 08, 2009, 15:48 от lit-uriy » Записан

Юра.
sinj
Гость
« Ответ #4 : Июнь 08, 2009, 15:57 »

спс, попробую разобраться. Тем не менее остается такой вопрос: надо обработать щелчок мыши на таблвью. и потом, как я понимаю использовать     

Цитировать
QModelIndex topLeft;
QModelIndex bottomRight;

topLeft = model->index(0, 0, QModelIndex());
bottomRight = model->index(5, 2, QModelIndex());
далее по тексту...
Записан
ритт
Гость
« Ответ #5 : Июнь 08, 2009, 16:10 »

ах, так модифицировать результат не предполагается? тогда извиняюсь...

QModelIndex index = model->index(row, column, parent);
QVariant data = model->data(index, Qt::EditRole);
Записан
sinj
Гость
« Ответ #6 : Июнь 08, 2009, 16:20 »

да, результат нужен только для того, чтобы дать его значение некоторой переменной. Если я правильно понял
Цитировать
QModelIndex index = model->index(row, column, parent);
QVariant data = model->data(index, Qt::EditRole);

row-номер строки в модели
column-номер столбца в модели
parent -даже не могу предположить

и как все это увязать с имеемой таблвью? Т.е. как мне в проекте моем нужно это и где описывать (предполагаю, что в слоте clicked) и, если вас не затруднит, то напишите поподробнее)
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #7 : Июнь 08, 2009, 16:24 »

sinj, это уже описано, читай "Программирование Модель/Представление", там на русском.
Записан

Юра.
ритт
Гость
« Ответ #8 : Июнь 08, 2009, 16:36 »

sinj, вот код: model->selectionMode() + читай доки по QItemSelectionModel - там всё примитивно.
Записан
sinj
Гость
« Ответ #9 : Июнь 08, 2009, 16:51 »

 Улыбающийся Действительно, все очень просто. Спасибо за целеуказание))
Записан
sinj
Гость
« Ответ #10 : Июнь 18, 2009, 09:22 »

Изучил. Отпал ряд вопросов. Но с текущим не разобрался. Прошу помощи. Попробую сформулировать вопрос конкретнее:
1. В tableview уже загружена таблица
2. Описываю функцию по дабл клику на tableview
3. При дабл клике нужно выделить всю строку, на которую кликал мышью
4. Из заданной выделенной строки нужно получить значение например в третьем столбце
 
Не выходит, блин... Объясните.
Записан
spectre71
Гость
« Ответ #11 : Июнь 18, 2009, 10:50 »

Изучил. Отпал ряд вопросов. Но с текущим не разобрался. Прошу помощи. Попробую сформулировать вопрос конкретнее:
1. В tableview уже загружена таблица
2. Описываю функцию по дабл клику на tableview
3. При дабл клике нужно выделить всю строку, на которую кликал мышью
4. Из заданной выделенной строки нужно получить значение например в третьем столбце
 
Не выходит, блин... Объясните.
1)  Переопредели
virtual void mouseDoubleClickEvent ( QMouseEvent * event )
2) Получи ModelIndex
QModelIndex Index = tableview->indexAt(event->pos());
3) Селектируй строку
tableview->selectionModel()->select ( const QItemSelection & selection, QItemSelectionModel::SelectionFlags command )




Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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