切换Qt :: WA_TranslucentBackground

时间:2016-04-08 20:03:05

标签: c++ qt setattribute

我一直在寻找,但没有找到帮助我的答案。 正如标题所说,我想切换属性" 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();
}

我在启动时调用此函数。另外在复选框上单击我要打开/关闭的位置。当我重新启动我的应用程序时,此代码可以正常工作,但我希望在选中/取消选中复选框后立即执行此操作。

0 个答案:

没有答案