如何隐藏主窗口的标题栏而不隐藏Qt中的最小化,调整大小和关闭按钮

时间:2013-06-19 21:47:53

标签: qt user-interface

我在Qt中创建一个应用程序,需要有一个像itunes 11中的标题栏。它应该

  1. 隐藏边框

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

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

  4. 提前致谢!

1 个答案:

答案 0 :(得分:1)

  

1隐藏边框

参见Qt::FramelessWindowHint和其他窗口标志

  

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

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

  

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

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

  1. mousePressEvent处理程序中接受事件,记住鼠标按下的位置
  2. 然后您将获得鼠标移动事件(当您接受按下时),因此覆盖mouseMoveEvent并通过2D矢量移动窗口(movesetPos)(... QPoint)currentPos - savedPos