Russian Qt Forum

Qt => Model-View (MV) => Тема начата: hamlo от Август 21, 2009, 09:40



Название: Как получить содержимое выделенных ячеек в QTreeView
Отправлено: hamlo от Август 21, 2009, 09:40
Я почти полный нуб в Qt и C++, так что сильно не пинайте. Собсвенно сабж.


Название: Re: Как получить содержимое выделенных ячеек в QTreeView
Отправлено: Rcus от Август 21, 2009, 09:47
Скажите, а как вы узнали о Qt? А вас сказали что у это библиотеки хорошая документация? Здесь ногами не бьют, а посылают читать документацию или код :) Собственно вот:
http://qt.nokia.com/doc/4.5/model-view-programming.html - обзорная статья,
http://qt.nokia.com/doc/4.5/qitemselectionmodel.html#selectedIndexes - прямой ответ :)


Название: Re: Как получить содержимое выделенных ячеек в QTreeView
Отправлено: spectre71 от Август 21, 2009, 09:51
Я почти полный нуб в Qt и C++, так что сильно не пинайте. Собсвенно сабж.

Смотри в доке

1) QAbstractItemModel* QAbstractItemView::model ();
2) QItemSelectionModel* QAbstractItemView::selectionModel ()
3) QModelIndexList* QItemSelectionModel::selectedIndexes()
4) QVariant QAbstractItemModel ::data ( const QModelIndex & index, int role = Qt::DisplayRole )
5) QString QVariant::toString()


Название: Re: Как получить содержимое выделенных ячеек в QTreeView
Отправлено: Rcus от Август 21, 2009, 09:55
Spectre, QModelIndex::data короче пишется :)


Название: Re: Как получить содержимое выделенных ячеек в QTreeView
Отправлено: hamlo от Август 21, 2009, 09:58
Скажите, а как вы узнали о Qt? А вас сказали что у это библиотеки хорошая документация?
Можно было и не ерничать и не давать ссылки на документацию, которую что только и изучаю и данный раздел я внимательно прочитал - но вот на практике, по синтаксису, применить не получается - и лучший ответ от вас был бы на примере кода - установки модели QSqlQueryModel в качестве представления в QTreeView и получения текущего индекса и по нему получения значений в строке. К великому сожалению ни в базовых книгах Макса Шлее, или Жасмина Бланшета и Марка Саммерфилда(в последних вообще вольная интерпритация  стандартных примеров) не затрагивается плотно этот вопрос. Мне проще смотреть не на куски доки а на цельный кусок работающего кода.


Название: Re: Как получить содержимое выделенных ячеек в QTreeView
Отправлено: panAlexey от Август 21, 2009, 10:03
Мне проще смотреть не на куски доки а на цельный кусок работающего кода.
угу. а мне проще получать зарплату не работая. Только вот беда, такую схему никто не предлагает :(. Приходится работать и читать документацию..


Название: Re: Как получить содержимое выделенных ячеек в QTreeView
Отправлено: spectre71 от Август 21, 2009, 10:06
Spectre, QModelIndex::data короче пишется :)
Согласен, короче. Я написал первое что пришло в голову :) Возможно есть более простой способ для сабж.


Название: Re: Как получить содержимое выделенных ячеек в QTreeView
Отправлено: hamlo от Август 21, 2009, 10:10
Всем спасибо... пока написал как то так...
Код:
qDebug() << userListModel->data(usersList->currentIndex(), Qt::DisplayRole).toString();


Название: Re: Как получить содержимое выделенных ячеек в QTreeView
Отправлено: hamlo от Август 21, 2009, 14:42
А не подскажите, как бы получить список, который содержит значения всех полей в выделенной строке, а то так получается получения значения только выделяемой ячейки.


Название: Re: Как получить содержимое выделенных ячеек в QTreeView
Отправлено: spectre71 от Август 21, 2009, 15:06
А не подскажите, как бы получить список, который содержит значения всех полей в выделенной строке, а то так получается получения значения только выделяемой ячейки.

2) QItemSelectionModel* QAbstractItemView::selectionModel ()
3) QModelIndexList* QItemSelectionModel::selectedIndexes()

Все выделенные ячейки


Название: Re: Как получить содержимое выделенных ячеек в QTreeView
Отправлено: hamlo от Август 21, 2009, 15:16
Спасибо большое. Уже сам все нашел. =)


Название: Re: Как получить содержимое выделенных ячеек в QTreeView
Отправлено: lit-uriy от Август 21, 2009, 21:27
hamlo, коль уж начал разбиратся с подробностями, могу заготовку дать, делал себе "помогая" для QTableView
называется TableViewBuddy (http://svn.assembla.com/svn/ysoft/TableViewBuddy/tag/tvb-1.2.0)
но до конца не доделал, времени нет.
работает только копирование выделенных ячеек таблицы