Здравствуйте возникла такая проблемка, у меня есть 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();
Но все равно ошибка
Заранее спасибо!