{"title":"Qt QWidget子类化背景色与边框绘制冲突解决方法","description":"本文介绍了在Qt中,QWidget子类化后设置背景色导致边框绘制无效的问题,并提供了解决方法:在paintEvent事件中先调用父类的绘制方法,然后再绘制边框。","keywords":"Qt, QWidget, 子类化, 背景色, 边框, 绘制, paintEvent, 解决方法","content":""可能是由于QWidget的背景色覆盖了边框的绘制导致边框无效。"解决办法是在paintEvent事件中先调用父类的绘制方法,然后再绘制边框。\n\n以下是一个示例代码:\n\n\nclass MyWidget : public QWidget\n{\npublic:\n MyWidget(QWidget *parent = nullptr) : QWidget(parent)\n {\n setFixedSize(200, 200);\n setStyleSheet(\"background-color: red;\\");\n }\n\nprotected:\n void paintEvent(QPaintEvent *event)\n {\n // 调用父类的绘制方法\n QWidget::paintEvent(event);\n\n // 绘制边框\n QPainter painter(this);\n painter.setPen(QPen(Qt::black, 2));\n painter.drawRect(rect());\n }\n};\n\n\n在这个示例中,我们先设置了QWidget的背景色为红色,然后在paintEvent事件中先调用了父类的绘制方法,然后再使用QPainter绘制了一个黑色的边框。这样就可以同时显示背景色和边框了。\n\n"}

Qt QWidget子类化背景色与边框绘制冲突解决方法

原文地址: https://www.cveoy.top/t/topic/qvgx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录