我想知道是否可以将QMainWindow设置为最佳状态。
我试过了:
mainWindow.setWindowFlags(Qt::WindowStaysOnBottomHint);
mainWindow是一个QMainWindow扩展对象。 但它不起作用,我的窗户消失了。
答案 0 :(得分:3)
是的,可以,但代码中有两个错误:
Qt::WindowStaysOnBottomHint
已设置。Qt::WindowStaysOnBottomHint
标记(代表您想要的内容),而不是Qt::WindowStaysOnTopHint
。这样做的正确方法是:
Qt::WindowFlags flags = mainWindow.windowFlags();
mainWindow.setWindowFlags(flags | Qt::WindowStaysOnTopHint);
请注意,在X11上的某些窗口管理器上,您还必须通过 Qt :: X11BypassWindowManagerHint使此标志正常工作。
在这种情况下你应该这样做:
Qt::WindowFlags flags = mainWindow.windowFlags();
mainWindow.setWindowFlags(flags | Qt::X11BypassWindowManagerHint | Qt::WindowStaysOnTopHint);
答案 1 :(得分:0)
如果你想把一个窗口作为Dialog,还有另外一种方法。只需调用setModal(true)或setWindowModality(),然后调用show()。与exec()不同,show()会立即将控制权返回给调用者。它不会作为QDialog卡在exec()中。
即
location ~ /apple/([^/]+)/? {
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
fastcgi_param REQUEST_URI /index.php?pagename=apple&apple=$1;
fastcgi_pass ...;
...
}
然后在调用或调用新窗口时,
setModel(true);//In Constructor