Kno*_*ing 1 c++ qt qt4 transparent borderless
我打算制作一个非矩形QDialog,所以我通过覆盖绘制一个png图像.QDialog::paintEvent除了在对话框中显示一个灰色边框外,一切都没问题.就像这样:

我确信边框不属于图像,我曾经setWindowFlags(Qt::FramelessWindowHint)和setAttribute(Qt::WA_TranslucentBackground, true).我试图设置qss border-width: 0px但是没有用.有没有办法删除边框?为什么显示它?
您可以通过设置Qt::FramelessWindowHint窗口标志来创建无边界对话框:
setWindowFlags(Qt::Window | Qt::FramelessWindowHint);
Run Code Online (Sandbox Code Playgroud)
要使其透明,您应该设置以下属性:
setAttribute(Qt::WA_NoSystemBackground);
setAttribute(Qt::WA_TranslucentBackground);
setAttribute(Qt::WA_PaintOnScreen);
Run Code Online (Sandbox Code Playgroud)