Ich fange den paint-event Eines QFrame-Widgets in einem event-filter ab.
Nun muß ich im event-filter die Zeichenfunktionalität der Basisklasse aufrufen, also folgender Code:
Code: Alles auswählen
bool DlgPalette::eventFilter(QObject *_pObj,
QEvent *_pEvent)
{
if (_pEvent->type() == QEvent::Paint)
{
if (_pObj == ui.m_pPaletteWidget)
{
QPaintEvent *pPaintEvent = dynamic_cast<QPaintEvent *>(_pEvent);
PaintPalette(pPaintEvent);
return true;
}
} // if (_pEvent->type() == QEvent::Paint)
// not handled => default processing
return QObject::eventFilter(_pObj, _pEvent);
} // DlgPalette::eventFilter
Code: Alles auswählen
void DlgPalette::PaintPalette(QPaintEvent *_pEvent)
{
...
!! die die Zeichenfunktionalität der Basisklasse QFrame aufrufen !!!
...
// eigene Zeichenelemente zeichnen
} // DlgPalette::PaintPalette
Einfach
Code: Alles auswählen
repaint()
Code: Alles auswählen
QObject::eventFilter(ui.m_pPaletteWidget, _pEvent);
Vielen Dank