Название: QtableWidget - выделение строк. Отправлено: wildcat от Февраль 09, 2012, 09:39 можно в tableWidget запретить выделение столбцов, запретить выделение ячеек, что бы всегда выделялась только строка, ячейку которой выделяют?
Название: Re: QtableWiget - выделение строк. Отправлено: Авварон от Февраль 09, 2012, 10:00 Разрешаю.
Название: Re: QtableWidget - выделение строк. Отправлено: stima от Февраль 09, 2012, 11:02 просто погугли, тема расжована на все 100%
Название: Re: QtableWidget - выделение строк. Отправлено: wildcat от Февраль 09, 2012, 11:05 Конечно гуглю, просто если этим уже тут кто то пользовался, может подскажет )))
Название: Re: QtableWidget - выделение строк. Отправлено: wildcat от Февраль 09, 2012, 11:25 Вот еще есть вопрос... не найду не где... Есть tableWidget, в нем столбцы поменял местами horizontalHeader()->moveSection(). Но по умолчанию, столбцы остались с первоначальным индексом... Потому как решил поменять ширину столбца с индексом 0-ль... а меняется столбец где-то в середине.... Как можно обновить индексы?
Название: Re: QtableWidget - выделение строк. Отправлено: GreatSnake от Февраль 09, 2012, 11:43 Код
Название: Re: QtableWidget - выделение строк. Отправлено: wildcat от Февраль 09, 2012, 15:16 Спасибо. Помогло.
Вот нигде не нашел, как запретить выделение столбцов и ячейки, а разрешить выделение только строки. Может кто сталкивался с такой проблемой? Название: Re: QtableWidget - выделение строк. Отправлено: mutineer от Февраль 09, 2012, 15:20 http://doc.crossplatform.ru/qt/4.7.x/qtablewidget-members.html
тут есть Название: Re: QtableWidget - выделение строк. Отправлено: Пантер от Февраль 09, 2012, 15:23 http://doc.crossplatform.ru/qt/4.7.x/qtablewidget-members.html Как тонко ты сказал RTFM. :)тут есть Название: Re: QtableWidget - выделение строк. Отправлено: mutineer от Февраль 09, 2012, 15:27 http://doc.crossplatform.ru/qt/4.7.x/qtablewidget-members.html Как тонко ты сказал RTFM. :)тут есть Ну там же правда есть :D Название: Re: QtableWidget - выделение строк. Отправлено: wildcat от Февраль 09, 2012, 15:28 копаю )))
Название: Re: QtableWidget - выделение строк. Отправлено: wildcat от Февраль 09, 2012, 15:51 Как понимаю где то тут копать нужно...
enum QAbstractItemView::SelectionBehavior Константа Значение Описание QAbstractItemView::SelectItems 0 Selecting single items. QAbstractItemView::SelectRows 1 Selecting only rows. QAbstractItemView::SelectColumns 2 Selecting only columns. Делаю так: Код компилятор ругается... в qt вообще не силен... Название: Re: QtableWidget - выделение строк. Отправлено: sudo от Февраль 09, 2012, 15:52 selectionBehavior в SelectRows
selectionMode в SingleSelection будет выделяться только строго одна строка Название: Re: QtableWidget - выделение строк. Отправлено: Пантер от Февраль 09, 2012, 15:53 setSelectionBehavior же.
Название: Re: QtableWidget - выделение строк. Отправлено: sudo от Февраль 09, 2012, 15:53 Код компилятор ругается... в qt вообще не силен... Конечно, ругается. Используй соответствующие сеттеры: setSelectionBehavior и setSelectionMode ;) Название: Re: QtableWidget - выделение строк. Отправлено: wildcat от Февраль 09, 2012, 15:55 Так и надо.. что бы больше одной строки не выделялось
Название: Re: QtableWidget - выделение строк. Отправлено: wildcat от Февраль 09, 2012, 16:06 Вот:
Код
Спасибо огромное))) Что бы делал без Вас)) Название: Re: QtableWidget - выделение строк. Отправлено: billy4685 от Ноябрь 24, 2015, 12:06 Не хочется открывать новую тему по вопросу выделения ячеек в таблице. Решил, задам свой вопрос здесь. Думаю владелец этой темы будет не против))
У меня следующий вопрос. Как можно в QTableWidget реализовать выделение только строк и столбцов? Тоесть чтобы ячейка не выделялась, а выделялись только выбранный столбец или выбранная строка. Уже час ищу, ничего не нахожу. Название: Re: QtableWidget - выделение строк. Отправлено: GreatSnake от Ноябрь 24, 2015, 15:25 Код
Название: Re: QtableWidget - выделение строк. Отправлено: billy4685 от Ноябрь 25, 2015, 14:13 Код
Пробовал, не помогает. С помощью этого метода можно устанавливать выделение: - только столбцов - QAbstractItemView::SelectColumns; - только строк - QAbstractItemView::SelectRows; - только ячеек - QAbstractItemView::SelectItems. Пытался применять этот метод следующим образом: tabel->setSelectionBehavior(QAbstractItemView::SelectColumns | QAbstractItemView::SelectRows); , но результата это не дало, на это компилятор бьет предупреждение. Хоть и приложение запустилось, но выделения остались стандартными. Название: Re: QtableWidget - выделение строк. Отправлено: __Heaven__ от Ноябрь 25, 2015, 14:38 Попробуйте скомбинировать QAbstractItemView::SelectRows | QAbstractItemView::SelectColumns
Название: Re: QtableWidget - выделение строк. Отправлено: GreatSnake от Ноябрь 25, 2015, 14:42 Попробуйте скомбинировать QAbstractItemView::SelectRows | QAbstractItemView::SelectColumns Ну как можно такое советовать ???.Это же не битовые маски. Тем более постом выше ТС это уже делал. 2 billy4685 На сам деле непонятно чего хочется в итоге. Название: Re: QtableWidget - выделение строк. Отправлено: __Heaven__ от Ноябрь 25, 2015, 15:22 Ну как можно такое советовать ???. упс. извиняюсьНазвание: Re: QtableWidget - выделение строк. Отправлено: __Heaven__ от Ноябрь 25, 2015, 15:27 Наверное правильным будет отслеживать нажатие и через QAbstractItemView::setSelection(const QRect & rect, QItemSelectionModel::SelectionFlags flags) выбирать всё перекрестие
Название: Re: QtableWidget - выделение строк. Отправлено: Igors от Ноябрь 25, 2015, 15:34 Ну видимо хочется выделять "крестиком", жмет ячейку - и сразу выделяются и строка и столбец. Вряд ли такой причудливый запрос будет штатным. Почему бы не отловить itemSelectionChanged и там добавить в selection чего надо? Ну пресечь рекурс конечно.
[OFF]Билли Джонс, Ваша страсть к UI впечатляет :)[/OFF] Название: Re: QtableWidget - выделение строк. Отправлено: billy4685 от Ноябрь 25, 2015, 16:11 Попробуйте скомбинировать QAbstractItemView::SelectRows | QAbstractItemView::SelectColumns Ну как можно такое советовать ???.Это же не битовые маски. Тем более постом выше ТС это уже делал. 2 billy4685 На сам деле непонятно чего хочется в итоге. Хочу, чтобы в таблице работало только два метода выделения: 1 и 2; а 3-й и 4-й методы выделения вообще не должны работать (см. рисунки ниже). То есть, чтобы ячейки в таблице не выделялись при нажатии на них левой клавишей мыши, а выделялись только столбцы или строки, при выборе щелчком мыши соответственно горизонтальных или вертикальных надписей в таблице (на рисунках 1 и 2 показано красным курсором). Название: Re: QtableWidget - выделение строк. Отправлено: GreatSnake от Ноябрь 25, 2015, 16:23 Хм... хотелка ещё та...
Стандартными средствами не сделаешь. Вот, имхо, самый простой вариант через подмену QItemSelectionModel: Код
Через хак (VIA_HACK) просто и на все случаи :) Название: Re: QtableWidget - выделение строк. Отправлено: Igors от Ноябрь 26, 2015, 09:33 Код
Код
Название: Re: QtableWidget - выделение строк. Отправлено: billy4685 от Ноябрь 28, 2015, 15:34 GreatSnake, Igors спасибо, буду пробовать цеплять это для своего приложения.
|