【问题标题】:Qt - custom window chromeQt - 自定义窗口镶边
【发布时间】:2014-11-29 13:46:16
【问题描述】:

我想使用 QT v 5.3 (PyQT/PySide) 创建一个具有自定义窗口镶边(有点类似于 windows 现代 ui/metro)的应用程序 - here's 设计。

现在我的问题是 - 我应该使用标准 QMainWindow,使用 Qt.FramelessWindowHint 并添加一些小部件(用于标题栏、状态栏、窗口操作按钮)还是应该创建自己的 QWindow 等效项,或者可能还有其他选项?

【问题讨论】:

  • 前段时间我有一个项目试图实现这一点,因为我觉得原生外观对于我试图创建的应用程序来说非常无聊。我最终使用 TideSDK 而不是 PyQT 来实现我想要实现的目标。您可以在 QtGui.QWindow 对象中覆盖很多内容,但这会非常困难。

标签: python qt pyqt qt5 pyside


【解决方案1】:

您可以使用无框窗口和自定义控件来实现所需的设计。过去我用 Qt Widgets 做过类似的事情,真的很痛苦。

对于您建议的 UI,我会选择 Qt Quick。完成所有自定义控件并使用样式标准(请参阅Qt Quick Controls)来满足您的需求将非常简单直接。

此外,您需要实现自定义处理以使用鼠标移动窗口,因为您的窗口将缺少默认标题。

【讨论】:

  • 是的,对于具有大量自定义设计和控件(可能是触摸交互)的精美 UI,请选择 Qt Quick。它非常适合这些目的,但请注意,您也可以使用 Qt Quick 创建具有原生外观的应用程序......尤其是与即将推出的 Qt 5.4 和 5.5 更好的 Qt Quick Controls 集成!
猜你喜欢
  • 2011-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-11
  • 1970-01-01
  • 2012-08-09
  • 2017-11-30
  • 2015-05-26
相关资源
最近更新 更多