C++ C++;在QT中:更改不透明度按钮和标签

C++ C++;在QT中:更改不透明度按钮和标签,c++,qt,C++,Qt,我想让我的按钮透明,这样用户就看不到它们,而只看到背景。但是,每当我将不透明度设置为0或更改背景色时。它只会改变边缘。请参见图1(中间的按钮应用了样式表) 找到答案,如果你像我一样使用样式表设置小部件的背景。小部件中的所有对象显然都具有相同的背景 您是否正在尝试将自定义按钮作为底层图像来实现,并在其上添加透明的QButtons?问题是什么…?我将创建一个新的Q_对象小部件,作为按钮,并应用您想要的任何样式表,然后通过覆盖MouseButtonPress方法发送信号。比叠钮扣干净多了。我试过了。

我想让我的按钮透明,这样用户就看不到它们,而只看到背景。但是,每当我将不透明度设置为0或更改背景色时。它只会改变边缘。请参见图1(中间的按钮应用了样式表)


找到答案,如果你像我一样使用样式表设置小部件的背景。小部件中的所有对象显然都具有相同的背景

您是否正在尝试将自定义按钮作为底层图像来实现,并在其上添加透明的QButtons?问题是什么…?我将创建一个新的Q_对象小部件,作为按钮,并应用您想要的任何样式表,然后通过覆盖MouseButtonPress方法发送信号。比叠钮扣干净多了。我试过了。但它仍然给出了同样的结果。上图中,一个.png文件作为背景,使用主窗口的样式表。上面有3个按钮和一个标签。我的问题是,我怎样才能摆脱按钮一直保持的奇怪的蓝色。当我将按钮的不透明度设置为0时,它只会更改边缘。
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    setStyleSheet("background-image:url(:/images/gui_main.png)");

    ui->alrm_dwn->setStyleSheet("background-color: rgba(255, 255, 255, 0);");

    connect(ui->alrm_dwn, SIGNAL(clicked()), this, SLOT(change_dwn()));
    connect(ui->alrm_up, SIGNAL(clicked()), this, SLOT(change_up()));
}