Вот пример кода, который позволяет мне рисовать, а события мыши проходят через него.
Sample::Sample(QWidget *pParent):QWidget(pParent)
{
setAttribute(Qt::WA_TranslucentBackground);
setAttribute(Qt::WA_TransparentForMouseEvents);
setWindowFlags(Qt::FramelessWindowHint);
QDesktopWidget qDesktopWidget;
QRect screenSize = qDesktopWidget.screenGeometry();
setGeometry(screenSize);
}
Sample::~Sample()
{
}
void Sample::paintEvent(QPaintEvent*)
{
QDesktopWidget new QDesktopWidget();
QRect rectangle = qDesktopWidget->screenGeometry();
setGeometry(rectangle);
const QPoint points[5] = {
QPoint(0, 20),
QPoint(rectangle.width(), 20),
QPoint(rectangle.width(), rectangle.height()),
QPoint(0,rectangle.height()),
QPoint(0, 0)
};
QPen pen(Qt::blue, 10, Qt::SolidLine, Qt::SquareCap);
QPainter painter(this);
painter.setPen(pen);
painter.drawPolyline(points, 5);
painter.end();
}