我一直在拔头发,试图弄清楚如何做到这一点。我已经尝试过使用样式表,但无济于事。#qt 上有人说他们有这样的工作,但是当我修改我的代码时,我只能让某些小部件变得透明,但不幸的是 QProgressbar 不是
#include <QApplication>
#include <QProgressBar>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget *widget = new QWidget();
QProgressBar *progress = new QProgressBar(widget);
QPalette palette(widget->palette());
palette.setColor(widget->backgroundRole(), Qt::green);
widget->setAutoFillBackground(true);
widget->setPalette(palette);
QPalette palette1(progress->palette());
palette1.setColor(progress->backgroundRole(), Qt::transparent);
progress->setAutoFillBackground(true);
progress->setPalette(palette1);
widget->show();
return a.exec();
}
以防万一您想知道我为什么要这样做;我试图让这个叠加层成为一副纸牌的图标,当你抓住它时,它会缩小。我希望它透明地覆盖在图标上以节省空间。
有任何想法吗?