C++ Qt5-设置窗口不透明度不工作?

C++ Qt5-设置窗口不透明度不工作?,c++,qt5,C++,Qt5,我试图通过使用setWindowOpacity使窗口半透明,我猜我必须在0.0到1.0之间的任何位置发送一个数字,但是无论值是什么,我要么完全可见1.0,要么50%可见0.0-0.9 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent, Qt::FramelessWindowHint), ui(new Ui::MainWindow) { ui->setupUi(this); setWindowOpacit

我试图通过使用setWindowOpacity使窗口半透明,我猜我必须在0.0到1.0之间的任何位置发送一个数字,但是无论值是什么,我要么完全可见1.0,要么50%可见0.0-0.9

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent, Qt::FramelessWindowHint),
ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    setWindowOpacity(0.5);
}
0.01时的不透明度:

0.99时的不透明度:

我想知道这是不是某种错误,或者应该是这样的。有没有办法解决这个问题,或者有没有替代setWindowOpacity的方法

使用Qt5.3、MSVC2013、Win7 x64


提前谢谢

另外两张图片,以防万一:不透明度为1.0:不透明度为0.0:我可以确认Qt 5.2 MSVC2010 Win7 x64对我有效。如果您有其他Qt版本,例如4.8x,您可以尝试确认它与Qt无关,但可能与您的硬件图形设置有关。在发布问题之前,我应该再做一些测试。事实证明,问题出在其他地方,因为我刚刚在另一个项目上尝试使用setWindowOpacity,结果正如预期的那样工作。我仍然无法确定问题的根源,但至少我知道我可能找错了地方。