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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: tableview  (Прочитано 7246 раз)
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.039 секунд. Запросов: 23.