我想在小部件上绘制一个圆圈,并且在圆形背景屏幕内应该是可见的,即在小部件上应该可以看到圆的边界/圆周。
其余的小部件应该是透明的。
我试过了 :
1)setStyleSheet("background:transparent;")
2)setAttribute( Qt::WA_TranslucentBackground, true );
3)Overriding paintEvent(QPaintEvent* event);
上述所有方法都不起作用。和setAutoFillBackground()为false。 我是刚刚在谷歌上找到的Qt及以上解决方案的新手。 请帮助。
答案 0 :(得分:0)
这将完成工作:D
#include <QApplication>
#include <QtGui/QMainWindow>
#include <QtGui/QPushButton>
#include <QtGui/QHBoxLayout>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QMainWindow *win=new QMainWindow(0);
win->setAttribute(Qt::WA_TranslucentBackground,true);
win->show();
return a.exec();
}
答案 1 :(得分:0)
如果在窗口上使用QWidget::setMask
函数,则会产生这种影响。另请参阅shaped clock example(也参考setMask
文档)。