0

我正在 Qt 中创建一个应用程序,该应用程序需要有一个类似于 iTunes 11 中的标题栏。它应该

  1. 隐藏边框

  2. 有一个带有内容的自定义标题栏(如 iTunes 11 的标题栏,其中播放器控制按钮包含在标题栏中)。

  3. 保留标题栏默认属性的拖动。

提前致谢!

4

1 回答 1

1

1 隐藏边框

查看Qt::FramelessWindowHint和其他窗口标志

2 有一个带有内容的自定义标题栏(如 iTunes 11 的标题栏,其中播放器控制按钮包含在标题栏中)。

你需要自己画一个。例如,您可以制作一个自定义小部件并将其放在顶部或类似位置。

3 保留标题栏的默认属性。

你也需要自己实现它。这实际上很简单——只需让您的自定义小部件对鼠标事件做出反应。粗略计划:

  1. mousePressEvent处理程序中接受事件记住鼠标按下的位置
  2. 然后,您将获得鼠标移动事件(当您接受按下时),因此通过 2D 向量(... QPoint)覆盖mouseMoveEvent并移动窗口(move, setPoscurrentPos - savedPos
于 2013-06-19T22:17:13.883 回答