C++ 通过保持子窗口小部件的不透明度正常,使QDialog在Qt中透明
我需要使QDialog透明,QDialog中包含的子widgetswidgets的不透明度为1。也就是说,我需要的透明度只应用于QDialog,而不是它的子部件 我使用以下方法设置对话框的不透明度C++ 通过保持子窗口小部件的不透明度正常,使QDialog在Qt中透明,c++,qt,transparency,opacity,qdialog,C++,Qt,Transparency,Opacity,Qdialog,我需要使QDialog透明,QDialog中包含的子widgetswidgets的不透明度为1。也就是说,我需要的透明度只应用于QDialog,而不是它的子部件 我使用以下方法设置对话框的不透明度 QGraphicsOpacityEffect* opacityEffect = new QGraphicsOpacityEffect; myDialog->setGraphicsEffect(opacityEffect); opacityEffect->setOpacity(0.45);
QGraphicsOpacityEffect* opacityEffect = new QGraphicsOpacityEffect;
myDialog->setGraphicsEffect(opacityEffect);
opacityEffect->setOpacity(0.45); // I need to set it to this particular value
但这也将myDialog的子WDIGET的不透明度设置为0.45,这意味着使它们太透明。有没有办法将Opacityeffect仅限于myDialog?因此,它的子部件看起来很正常。我想你可以检查一下,这至少对我有很大帮助。