Я искал вокруг, но не нашел ответ, который помогает мне.
Как сказано в заголовке, я хочу включить / выключить атрибут «Qt :: WA_TranslucentBackground».
Мне нужен WA_TranslucentBackground, но некоторые пользователи моего приложения сообщили, что это не работает в OBS (Open Broadcaster Software), поэтому я должен сделать отдельную версию без TranslucentBackground.
Мой код:
void MainWindow::action_widgetMode(){
if(displayOBS ==0){
this->setAttribute(Qt::WA_TranslucentBackground,true);
}else{
this->setAttribute(Qt::WA_TranslucentBackground,false);
}
this->setWindowFlags(Qt::Widget | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | Qt::X11BypassWindowManagerHint);
this->activateWindow();
this->setFocus();
this->show();
}
Я вызываю эту функцию один раз при запуске. И дополнительно на флажок нажмите, где я хочу включить / выключить его. Этот код работает, когда я перезапускаю свое приложение, но я хочу, чтобы он был сразу после того, как флажок был отмечен / снят.
Задача ещё не решена.
Других решений пока нет …