【发布时间】:2011-02-03 20:06:15
【问题描述】:
我们的桌面应用程序需要在 Mac、Windows 和 Linux 上运行。这就是我们选择 Qt 的原因。之前,我们为这 3 个平台提供了三个独立的代码库。
在旧实现中,我们使用关闭、最小化、最大化按钮绘制了自己的“窗口标题”。在所有三个平台上看起来都一样。
这一次,我不太确定。我想让 Qt 使用每个平台的默认标题和标题按钮,矩形“X”,“_”窗口按钮,mac 左侧的圆形按钮,以及 Linux/Ubuntu 等的任何内容。
这是一个明智的决定吗?推动我到那里的一件事是我必须为我正在编写的窗口类编写调整大小代码、拖动代码、按钮工作以及编写自己的窗口标题所附带的所有其他内容。
我注意到,如果我使用“Qt::FramelessWindowHint”来删除标题,我也会自动失去调整大小的抓钩。有办法解决吗?另外,您将如何实现自己的窗口拖动代码? (假设您知道要用作“可拖动标题”的区域。似乎我需要在该区域上按下按钮,进入拖动模式,跟踪鼠标移动并根据增量移动窗口。调整大小类似。我以前在其他平台上做过,但我想问一下 Qt 是否有一种机制可以让我“开箱即用”地做到这一点?
【问题讨论】:
标签: qt