2

我想在小部件上画一个圆圈,并且在圆圈背景屏幕内应该可见,即在小部件上应该只看到圆圈的边框/周长。小部件的其余部分应该是透明的。我试过了:1)setStyleSheet("background:transparent;") 2)setAttribute( Qt::WA_TranslucentBackground, true ); 3)Overriding paintEvent(QPaintEvent* event);

以上所有方法均无效。并且 setAutoFillBackground() 为假。我是刚在谷歌上找到的 Qt 及以上解决方案的新手。请帮忙。

4

2 回答 2

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();
}
于 2012-08-24T15:10:13.493 回答
0

如果在窗口上使用该QWidget::setMask功能,则会产生这种影响。另请参阅形状时钟示例(也从setMask文档中引用)。

于 2012-08-24T17:20:15.577 回答