2012-03-19 49 views
0

關閉窗口,我想創建Qt中一個可停靠窗口(它坐在採取4PX寬屏幕的邊緣,始終在頂部,它滑出當你懸停它)。我必須使用WindowFlag BypassX11WindowManager(爲了隱藏任務欄提示,禁止從窗口管理器移動/調整大小等)。我使用這些標誌:如何在Qt的

Qt::FramelessWindowHint 
Qt::CustomizeWindowHint 
Qt::X11BypassWindowManagerHint 
Qt::WindowStaysOnTopHint 

當我需要我的船塢被激活,我用的是activateWindow()方法。但是,我不知道如何停用它。

有沒有一種方法,我可以強制我的窗口關閉?現在我只能通過點擊另一個窗口,然後返回到顯示碼頭之前激活的窗口。

回答

0

你應該能夠使用->hide()簡單地隱藏它,如果你不希望它出現在某些點。

我認爲,對了,你知道有QDockWidget /類,可以幫助你。如果您正在使用或不使用上述內容尚不清楚。

+0

我知道QDockWidget類,但它似乎是不同的東西 - 只是面板可以從窗口取消固定。我不認爲QDockWidget可以獨立存在,而無需創建窗口,我錯了嗎?說實話,我從來沒有嘗試過使用它。隱藏它不是一種方式 - 它必須始終可見,只是移動到屏幕邊緣,以便只能看到底座的邊緣。而且我還需要這個碼頭作爲主要應用窗口,而不僅僅是一個小窗口。 – Mitu 2012-03-19 15:03:50

+0

說實話,我還沒有使用過碼頭小部件!您的問題沒有真正描述它需要「只有碼頭邊緣可見」。你可以做的一件事是讓它仍然可見,將整個內部內容放入一個vbox或類似的內容中,然後隱藏vbox,然後調整窗口的大小,使其達到「幾乎空的」vibox的大小。 – 2012-03-19 16:03:07

+0

我試過QDockWidget,它的行爲與其他窗口一樣,如果是獨立的。 TaskBar提示ets。可能隱藏在Windows上,但在Windows WindowFlag Qt :: Tool中運行良好。 – Mitu 2012-03-19 20:21:12