2010-09-06 27 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类。