Russian Qt Forum
Сентябрь 30, 2024, 08:17 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTableView, фокус вокруг ячейки  (Прочитано 5646 раз)
onlik
Гость
« : Ноябрь 29, 2009, 22:39 »

Можно ли как-то стандартными средствами убрать фокус вокруг выбранной ячейки (штриховой контур, когда выбрана какая-то ячейка)?
Записан
sendevent
Гость
« Ответ #1 : Ноябрь 30, 2009, 04:20 »

pTableView->setFocusPolicy( Qt::NoFocus );
Записан
onlik
Гость
« Ответ #2 : Ноябрь 30, 2009, 16:28 »

не подходит, тогда получается что виджет никогда не получит фокус, т.е. я буду клацать как и раньше, просто отображенние виджета будет такое, что на нем нет фокуса... Грустный а мне нужно что бы просто вокруг ячейки не было штриховых полос Улыбающийся
Записан
spectre71
Гость
« Ответ #3 : Ноябрь 30, 2009, 19:46 »

Можно ли как-то стандартными средствами убрать фокус вокруг выбранной ячейки (штриховой контур, когда выбрана какая-то ячейка)?

Насчет простого способа не знаю, но можно через свой простой делегат:

Код
C++ (Qt)
class MyDelegate : public QStyledItemDelegate
{
   Q_OBJECT
public:
 void paint(QPainter* painter, const QStyleOptionViewItem &option, const QModelIndex &index) const {
   QStyleOptionViewItemV4 opt = option;
   initStyleOption(&opt, index);
   opt.state &= ~QStyle::State_HasFocus;
   QStyledItemDelegate::paint(painter, opt, index);
 }
};
 
 
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #4 : Ноябрь 30, 2009, 21:12 »

Если наследоватся от QItemDelegate, то можно переопределить метод QItemDelegate::drawFocus
Записан

Юра.
onlik
Гость
« Ответ #5 : Декабрь 01, 2009, 03:11 »

Спасибо большое, разобрался!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.094 секунд. Запросов: 23.