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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблемма QWidget::render  (Прочитано 2449 раз)
Sasha
Гость
« : Сентябрь 23, 2014, 16:14 »

Здравствуйте,

1) У меня есть QTableView, который расположен в главном окне, но его верхний угол ниже клиентской области главного окна.
2) Для QTableView установлена модель и делегат, рисующий ячейку QTableView
3) Код ф-ии paint делегата имеет (после исключения ненужных деталей) следующий вид:
Код
C++ (Qt)
void CButtonDelegate::paint( QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index ) const
{
...
QPushButton btn;
btn.setGeometry( option.rect  ); btn.render( painter, option.rect.topLeft() );
painter->drawEllipse( option.rect );
...
}
 
Теперь ВОПРОС:
Почему элипс и кнопка могут быть смещены друг относительно друга?
Причём выглядит так, как-будто смещение кнопки делается не от левого верхнего угла QTableView, а от левого верхнего угла клиентской области главного окна.
Записан
Hrundel
Гость
« Ответ #1 : Сентябрь 24, 2014, 18:16 »

А что возвращает option.rect ?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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