我正在尝试做一个简单的应用程序MainWindow,其中我有一个按钮。点击后Q对话框打开。我想让QDialog透明化,但它不起作用。
void MainWindow::on_pushButton_clicked()
{
QDialog *qd = new QDialog();
//QGraphicsOpacityEffect *opacityEffect = new QGraphicsOpacityEffect;
//opacityEffect->setOpacity(0.5);
//qd->setGraphicsEffect(opacityEffect);
qd->setFixedSize(this->width(),this->height());
//qd->setPalette(QPalette(QPalette::Window,QColor(0,0,0,128)));
//setAttribute(Qt::WA_TranslucentBackground);
//qd->setWindowFlags(Qt::FramelessWindowHint);
//setWindowFlags(Qt::FramelessWindowHint);
this->setWindowOpacity(0.5);//this actually works
qd->setWindowOpacity(0.5); //this is not working
//qd->setStyleSheet("background:transparent;background-color:rgba(0,0,0,95)");
// qd->repaint();
qd->show();
}
剩下的都是简单的GUI项目,并添加了带有slot-clicked()的按钮。有可能使QDialog透明吗?我留下了评论行,看看我是怎么做的,但没有效果。
这是qt 5.1.0的一个问题,我已经发布了一个bug,状态已经解决,所以在新版本中一切都会好起来
这是qt 5.1.0的一个问题,我已经发布了一个bug,状态已经解决,所以在新版本中一切都会好起来。