QWidget Semi-transparent Background Color
Jump to navigation
Jump to search
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine. Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean. |
English Български
QWidget Semi-transparent Background Color
This code snippet shows how to make the background color of QWidget semi-transparent by overloading paintEvent().
- Declare overload of paintEvent
.h file
protected:
//overload from QWidget
void paintEvent(QPaintEvent* event);
- Implement the overload of paintEvent
.cpp file
void MyWidget::paintEvent(QPaintEvent* /*event*/)
{
QColor backgroundColor = palette().light().color();
backgroundColor.setAlpha(200);
QPainter customPainter(this);
customPainter.fillRect(rect(),backgroundColor);
}
The code snippet is inspired by solution proposed by Antonio Di Monaco at this forum thread.