【问题标题】:QDockWidget move problem when using custom title widget使用自定义标题小部件时 QDockWidget 移动问题
【发布时间】:2010-09-06 22:55:29
【问题描述】:

我想创建一个带有自定义标题小部件的停靠小部件。该自定义标题小部件有我自己的图标(最大化、最小化、关闭等)。

源码就是这样的:

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

当我运行程序时,停靠小部件会正确显示,但不幸的是我无法移动停靠小部件(它处于浮动状态)。可能是什么问题?

附:当我不使用自定义标题小部件时,我可以移动停靠小部件。

谢谢...

【问题讨论】:

    标签: qt qdockwidget


    【解决方案1】:

    setTitleBarWidget() 的Qt documentation 说:

    未明确的鼠标事件 必须由标题栏小部件处理 通过调用被忽略 QMouseEvent::ignore()。这些事件 然后传播到 QDockWidget 父级,它在 通常的方式,移动时标题 栏被拖动,停靠和取消停靠 当它被双击时等等。

    所以我猜你需要在 MyDockTitle 类中添加一些 QMouseEvent::ignore() 调用。

    【讨论】:

      猜你喜欢
      • 2011-08-02
      • 2012-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多