Название: Вопрос по QTableWidget : как добавить checkbox в horizontalHeader? Отправлено: tericka от Май 12, 2010, 13:32 Собственно, уже несколько дней бьюсь над задачкой - нужно реализовать функциональность "пометить все" для одной из колонн в имеющемся QTableWidget.
Эта колонка сама состоит сплошь из чекбоксов, поэтому требуется добавить в horizontalHeader таблицы так называемый "главный" checkbox :), который бы позволял одновременно выделять галочкой все строки, при нажатии на него. Я отталкивалась от этого решения, которое мне казалось наиболее простым : Код: QTableWidgetItem* item = new QTableWidgetItem("Check all"); Но, к сожалению, никакой галочки в моем horizontalHeader так не проявилось. Не могли бы вы помочь с разрешением такой проблемки, заранее спасибо. Название: Re: Вопрос по QTableWidget : как добавить checkbox в horizontalHeader? Отправлено: crossly от Май 12, 2010, 13:35 воспользуйся поиском по форуму .... тема не один раз подымалась...
Название: Re: Вопрос по QTableWidget : как добавить checkbox в horizontalHeader? Отправлено: GreatSnake от Май 12, 2010, 14:17 Не получится, т.к. QHeaderView не поддерживает Qt::CheckStateRole.
Я делал в Qt багтрекер запрос насчёт этого, но тролли почему-то его закрыли - типа Out of scope. Единственное решение - перегрузить QHeaderView и самому рисовать checkbox и обрабатывать нажатия мыши - вообщем довольно-таки геморно :( В ассистенте, кстати, про это так и написано: Цитировать Not all ItemDataRoles will have an effect on a QHeaderView. If you need to draw other roles, you can subclass QHeaderView and reimplement paintEvent(). QHeaderView respects the following item data roles: TextAlignmentRole, DisplayRole, FontRole, DecorationRole, ForegroundRole, and BackgroundRole. Название: Re: Вопрос по QTableWidget : как добавить checkbox в horizontalHeader? Отправлено: tericka от Май 12, 2010, 15:05 Спасибо, я как раз это и подозревала :( Просто надеялась на лучшее, как говорится...
Собственно, после поиска по форуму и задалась этим вопросом - а поддерживает ли QHeaderView эти checkStates или же нет? Теперь, после вашего подтвержения, что увы, CheckStateRole не поддерживается, то думаю, да, придется таки рисовать и подключать к cellClicked. Но странно, что qt'ешники именно так отреагировали на ваш запрос, GreatSnake, все таки он не такой уж редкий. |