C++ 如何删除我提供的透明背景图像的QDialog的边框?
我打算制作一个非矩形C++ 如何删除我提供的透明背景图像的QDialog的边框?,c++,qt,qt4,transparent,borderless,C++,Qt,Qt4,Transparent,Borderless,我打算制作一个非矩形QDialog,因此我通过覆盖QDialog::paintEvent绘制了一个png图像。除了对话框周围显示灰色边框外,一切正常。如下所示: 我确信边框不属于图像,我有setWindowFlags(Qt::FramelessWindowHint)和setAttribute(Qt::WA_半透明背景,true)。我试图设置类似边框宽度:0px的qss,但没有起作用。 有没有办法删除边框?为什么会显示它?您可以通过设置Qt::FramelessWindowHint窗口标志来创建
QDialog
,因此我通过覆盖QDialog::paintEvent
绘制了一个png图像。除了对话框周围显示灰色边框外,一切正常。如下所示:
我确信边框不属于图像,我有setWindowFlags(Qt::FramelessWindowHint)
和setAttribute(Qt::WA_半透明背景,true)
。我试图设置类似边框宽度:0px的qss,但没有起作用。
有没有办法删除边框?为什么会显示它?您可以通过设置Qt::FramelessWindowHint
窗口标志来创建无边框对话框:
setWindowFlags(Qt::Window | Qt::FramelessWindowHint);
要使其透明,应设置以下属性:
setAttribute(Qt::WA_NoSystemBackground);
setAttribute(Qt::WA_TranslucentBackground);
setAttribute(Qt::WA_PaintOnScreen);
您可以通过设置Qt::FramelessWindowHint
窗口标志来创建无边界对话框:
setWindowFlags(Qt::Window | Qt::FramelessWindowHint);
要使其透明,应设置以下属性:
setAttribute(Qt::WA_NoSystemBackground);
setAttribute(Qt::WA_TranslucentBackground);
setAttribute(Qt::WA_PaintOnScreen);
谢谢。我会在几个小时后试一试。谢谢。我会在几个小时后试一试。