2010-09-06 137 views
1

我想用自定義標題窗口小部件創建一個停靠窗口小部件。該自定義標題小部件有我自己的圖標(最大化,最小化,關閉等)。使用自定義標題窗口小部件時QDockWidget移動問題

源代碼是簡單地像:

QDockWidget *dock = new QDockWidget("name", parent); 
    MyDockTitle * titleWidget = new MyDockTitle(dock); 
    dock->setTitleBarWidget(titleWidget); 

當運行該程序,碼頭插件被適當地顯示,但不幸的是我不能移動塢微件(它是在浮置狀態)。可能是什麼問題?

P.S.當我不使用自定義標題小部件時,我可以移動碼頭小部件。

謝謝...

回答

3

setTitleBarWidget的Qt documentation()說:未明確 標題欄控件處理通過調用 QMouseEvent必須 忽視

鼠標事件::忽視()。這些事件 然後傳播到QDockWidget 母體,它處理他們在 通常的方式,移動時標題 欄被拖動,對接和脫離對接 當它被雙擊等

所以我想你需要添加一些QMouseEvent :: ignore()調用到你的MyDockTitle類。