我在 Metacity 上的 qt4 中的窗口外观有问题。最初的问题是该窗口出现在另一个窗口下,通过单击按钮从该窗口中调用它。我通过发送 _NET_ACTIVE_WINDOW 在 Compiz 上解决了这个问题,但在 metacity 上它仍然无法正常工作。经过几个小时的谷歌搜索,我尝试了这个:
if (window -> isMinimized())
{
window -> showNormal();
}
else if (window -> isHidden())
{
window -> show();
}
//the code that I added, which makes the window appear above.
window ->setWindowFlags(Qt::WindowStaysOnTopHint);
Qt::WindowFlags flags = window->windowFlags();
flags &= ~Qt::WindowStaysOnTopHint;
window->setWindowFlags(flags);
window->setGeometry(window->geometry());
window -> activateWindow();
window->show();
window -> raise();
这只是一种解决方法,但它实际上使窗口出现在上方。这就是另一个问题发生的地方:如果显示了窗口并且我将焦点更改为调用它的窗口并按下按钮,我的窗口将出现在它应该出现的同一位置上方。但是如果我关闭窗口并再次调用它,它会出现在左上角。有谁知道为什么会这样?提前致谢。