Я собирался сделать прямоугольник QDialog
, поэтому я рисую изображение в формате png путем переопределения QDialog::paintEvent
.Все хорошо, за исключением того, что в диалоговом окне показана серая граница.
Я уверен, что границы не принадлежат к изображению, и я имел setWindowFlags(Qt::FramelessWindowHint)
а также setAttribute(Qt::WA_TranslucentBackground, true)
Я пытался установить QSS, как border-width: 0px
но не сработало.
Есть ли способ убрать границу? И почему это показано?
Вы можете создать диалог без полей, установив Qt::FramelessWindowHint
флаг окна:
setWindowFlags(Qt::Window | Qt::FramelessWindowHint);
Чтобы сделать его прозрачным, вы должны установить следующие атрибуты:
setAttribute(Qt::WA_NoSystemBackground);
setAttribute(Qt::WA_TranslucentBackground);
setAttribute(Qt::WA_PaintOnScreen);