一个qt应用程序(多个模块),点击菜单某项, 会触发一个QTestAction事件(该QTestAction事件和主窗口不是在一个模块中)。
代码大概上如下:
程序主窗口QMainwindow m_mainwindow;
QTestAction中调用的子窗口 QPlayerWidget subwindow;
QTestAction::exec()
{
//取主窗口;
QMainwindow× mainwindow = ...;
mainwindow->hide();
QWidget* subwindow = new QPlayerWidget ;
subwindow ->show();
}
mainwindow->hide()是打开播放器的时候不能交互主窗口。
Windows平板模式下,隐藏一个主窗口后会自动切换到开始画面(start screen).
那么问题来了,在执行QTestAction::exec()中的代码时,先执行mainwindow->hide(); 但是不会立马切换到开始画面,因为要先执行当前线程下的代码,subwindow ->show();
然后再切换到开始画面,这样的话,一直停留在开始画面上了。
有没有人碰到类似的情况?
或者有没有windows10 api 禁用tablet下的这个功能?