透明的QLabel

Dew*_*rld 9 c++ qt transparency qt4

#include <QtGui>

class   Label : public QLabel
{
public:
    Label(QWidget *parent =0) :
        QLabel(parent)
    {
        resize(100, 100);
        setText("hello");
        show();
    }
};

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    Label l;

    return a.exec();
}
Run Code Online (Sandbox Code Playgroud)

这会输出带有背景的标签'hello'.我正在使用Qt4.我想让这个标签的背景完全透明.但是setWindowOpacity会更改整个窗口小部件的透明度.我想要内容,但只有背景是透明的.

Dew*_*rld 20

我发现这更简单....

QWidget::setAttribute(Qt::WA_TranslucentBackground);
Run Code Online (Sandbox Code Playgroud)


riv*_*333 10

您可以使用样式表设置背景的颜色和Alpha值:

setStyleSheet("background-color: rgba(0,0,0,0%)");
Run Code Online (Sandbox Code Playgroud)


nvd*_*nvd 5

在 PyQt 中:

lbl.setAttribute(Qt.WA_TranslucentBackground, True)