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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Слежение за изменением TabWidget  (Прочитано 2306 раз)
ruzik
Гость
« : Март 07, 2011, 13:57 »

Здравствуйте возникла такая проблемка, у меня есть 2 QDockWidgeta вернее классы наследники от них, и если их соединить то создается QTabWidget, а при изменении QTabWidget мне надо запускать функцию перерисовки самих панелей
В принципе мне надо в каждой панели просто отслеживать изменение размеров, поэтому я попытался сделать так
Код:
void Search::resizeEvent( QResizeEvent* )
{
lineEdit->setFixedWidth(this->width()*0.7);
const QRegion * reg = new QRegion;
QPaintEvent* event = new QPaintEvent(*reg);
this->paintEvent(event);
}
Сам QPaintevent тоже переопределен
Код:
void Search::paintEvent ( QPaintEvent * event )
{
QStylePainter barPainter(this);
QStyleOption barOption;
barOption.initFrom(this);
barPainter.drawPrimitive(QStyle::PE_Widget, barOption);
}
Ошибок при компиляции никаких не возникает, но при показе(не создании) QDockWidgeta выскакивает ошибка, она вызвана этими строками
const QRegion * reg = new QRegion;
   QPaintEvent* event = new QPaintEvent(*reg);
   this->paintEvent(event);
Скорее всего даже в объекте reg, потому что он не указывает на какой-то определенный регион(но это скорее всего), и из этого вопрос не знаете как правильно указать на регион QDockWidgeta
Я пытался сделать так:
QRegion * reg = &this->visibleRegion();
Но все равно ошибка
Заранее спасибо!
Записан
ruzik
Гость
« Ответ #1 : Март 09, 2011, 15:16 »

Помогите пожалуйста(
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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