Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: quard от Март 24, 2007, 13:00



Название: QTreeView уменьшить размер выделяемой строки
Отправлено: quard от Март 24, 2007, 13:00
Сделал свой ItemModel и засунул в QTreeView.
но мне не нравится что когда шелкаешь на узел, выделяется вся строка. мне нужно только сам тест выделить. (как в VC2005 в Solution Explorer)

как это можно сделать?


Название: QTreeView уменьшить размер выделяемой строки
Отправлено: SABROG от Март 25, 2007, 12:58
Это ?
Код:

MyTreeView->setSelectionMode(QAbstractItemView::SingleSelection);


Название: QTreeView уменьшить размер выделяемой строки
Отправлено: evilguard от Март 25, 2007, 14:20
Нет, эта команда ограничивает количество выделенных элементов одним. quard имел в виду, что при выделении элемента помимо текста выделяется синим и checkbox и справа от текста. Мне это тоже кстати не нравится.


Название: QTreeView уменьшить размер выделяемой строки
Отправлено: SABROG от Март 25, 2007, 15:05
Я все-равно не понял о чем речь. Скрины бы как есть и как хочется.


Название: QTreeView уменьшить размер выделяемой строки
Отправлено: quard от Март 25, 2007, 17:40
[img=http://img76.imageshack.us/img76/847/qw3validatoryf8.th.jpg] (http://img76.imageshack.us/my.php?image=qw3validatoryf8.jpg)

подписал там что хотел. ещё интересно, можно ли левый dock Project Explorer сделать высотой на всю высоты приложения? а Results сдвинуть влево.


Название: QTreeView уменьшить размер выделяемой строки
Отправлено: SABROG от Март 25, 2007, 18:42
Код:

treeview->setSelectionBehavior(QAbstractItemView::SelectItems);


Насчет артефактов сложно сказать, если это из за spilttera, то

Код:

splitter->setOpaqueResize(false);


Название: QTreeView уменьшить размер выделяемой строки
Отправлено: quard от Март 25, 2007, 19:09
SABROG
за первый кусок кода спасибо. именно то что надо!

насчет артефакта. у меня нет сплиттеров. только 2 дока и центральный виджет - QListView


Название: QTreeView уменьшить размер выделяемой строки
Отправлено: SABROG от Март 25, 2007, 19:53
Dockи сами рисуют сплиттер, не используя QSplitter, нет никакой возможности установить свойство, чтобы окно меняло размеры или перемещалось, только в момент отпускания мышки. Из-за доков тот же дизайнер тормозит не по детски во время их перемещения, я врятли когда-нибудь буду их использовать, лучше обойдусь сплиттерами, пока trolltech не сделает что-нибудь с этим.


Название: QTreeView уменьшить размер выделяемой строки
Отправлено: quard от Март 25, 2007, 20:23
эх, видимо придется тоже их использовать. вес равно спасибо =)