我正在尝试撤消我的应用上的Stay on Top of Windows
设置。我认为通过执行一些按位操作,我将能够撤消设置,但它仍然显示在所有其他窗口之上。
void showKioskMode(){
//if(windowFlags()&Qt::WindowStaysOnTopHint){
if(ui->pushButton_3->text().compare("No Kiosk") == 0){
//showNormal();
Qt::WindowFlags flags = windowFlags();
flags &= ~Qt::WindowStaysOnTopHint;
setWindowFlags(flags);
ui->pushButton_3->setText("Yes Kiosk");
}
else{
//showFullScreen();
Qt::WindowFlags flags = windowFlags();
setWindowFlags(flags | Qt::WindowStaysOnTopHint);
ui->pushButton_3->setText("No Kiosk");
}
show();
}
我已经检查过if-body正在执行,但是窗口仍然总是在所有其他窗口的顶部,即使它们有焦点。
答案 0 :(得分:0)
看起来这是一个错误。解决方案可以在以下主题中找到:
它通过WinAPI为Windows提供单独的解决方案。