Qt:哲学UI设计困境

Jas*_*enX 5 qt

我们的桌面应用程序需要在Mac,Windows和Linux上运行.这就是我们选择Qt的原因.之前,我们为这3个平台提供了三个独立的代码库.

在旧的实现中,我们使用Close,Minimize,Maximize按钮绘制了自己的"窗口标题".在所有三个平台中看起来都一样.

这一次,我不太确定.我想让Qt使用每个平台的默认标题和标题按钮,矩形"X","_"窗口按钮,Mac左侧的圆形按钮,以及Linux/Ubuntu等的任何内容.

这是明智的决定吗?推动我的一件事是,我必须为我正在编写的窗口类编写调整大小代码,拖动代码,按钮工作以及编写自己的窗口标题所带来的所有其他内容.

我注意到,如果我使用它,"Qt :: FramelessWindowHint"来删除标题,我也会自动失去我的大小调整格斗.有办法吗?另外,你将如何实现自己的窗口拖动代码?(提供你知道你想要用作"可拖动标题"的区域.似乎我需要抓住该区域的按钮,进入拖动模式,跟踪鼠标移动并根据增量移动窗口.类似于调整大小.我以前在其他平台上做过这个,但是我想问一下Qt是否有一个允许我"开箱即用"的机制?

S.L*_*ott 11

我想让QT使用每个平台的默认标题和标题按钮

请这样做.作为Mac用户,很少有东西比"通用"接口更令人困惑,这些接口本来应该看起来一样.Windows风格的界面令人困惑.Mac风格界面是我习惯的和我想要的.

如果你必须编写(并维护和支持)更少的代码,那就更好了.

尽量选择"原生".写尽可能少的代码.