#include #include class CustomWid : public QWidget { public: CustomWid() { setFixedSize(100,100); } protected: void paintEvent(QPaintEvent* evt){ QPainter painter(this); painter.setCompositionMode(QPainter::CompositionMode_SourceOut); painter.setRenderHint(QPainter::Antialiasing, false); painter.drawLine(50, 50, 20, 20); } }; int main(int argc, char *argv[]) { QApplication a(argc, argv); // QMessageBox b; // b.exec(); QWidget w; auto lay = new QVBoxLayout(&w); lay->addWidget(new QPushButton("test")); lay->addWidget(new CustomWid); w.show(); return a.exec(); }