Qt 桌面应用程序
Posted
技术标签:
【中文标题】Qt 桌面应用程序【英文标题】:Qt desktop application 【发布时间】:2016-12-08 19:36:25 【问题描述】:我需要开发的 具有以下 GUI:
应用程序窗口分为 3 个部分 - 左侧窗口 - 有一堆可点击的菜单项,一个在另一个之下。单击每个项目将在突出的右侧窗口中显示相应的 UI 元素,该窗口要大得多。
右侧窗口 - 包含根据在左侧窗口中单击的菜单项显示一些数据的 UI。每个左侧窗口菜单项都有不同的对应右侧窗口 UI。
顶部(标题)窗口 - 包含一些与公司“品牌”相关的图形和一个面板,用于从列表中选择串行端口以及表示连接/断开状态的图形。
如何开发这种用户界面?我应该使用哪些 Qt 类?我是 Qt 的初学者,非常感谢任何帮助。谢谢。
【问题讨论】:
【参考方案1】:我建议从 Qt Designer 或 Qt Creator 开始,通过拖放不同类型的对象来创建您的 UI。 Qt Designer 是一个独立的表单设计器,其中 Qt Creator 是完整的开发环境,还包括 Qt Designer 的功能。使用表单设计器比以编程方式创建小部件要容易得多,尤其是在刚开始时。
有多种方法可以在左侧列出项目。您可以使用 QListWidget 或一系列单独的 QPushButton 实例,每个选项一个。如果项目列表发生变化,那么管理 QListWidget 内容将比为每个项目实例化 QPushButton 更容易,但您可能更喜欢 QPushButton 的外观。这取决于你想要什么。
对于右侧,查看 QStackedWidget。它专门用于显示一堆内容,其中一次只有一个项目可用。
对于顶部面板,再次使用表单设计器来创建布局。您可以将图像存储在 QLabel 中。 QComboBox 可能是您想要的列表,或者同样,您可能想要一个 QListWidget。这仅取决于您要寻找的外观和用户体验。对于连接/断开状态,您可以使用 QLabel 并随着状态的变化而改变图形。
您需要了解插槽和信号;这些对于任何与 Qt 相关的事情都至关重要。
【讨论】:
谢谢@goug。我正在尝试您的建议。以上是关于Qt 桌面应用程序的主要内容,如果未能解决你的问题,请参考以下文章
带有 Qt/c++ 和 openseemap 的桌面地图应用程序
使用共享逻辑 (MVC) 将 Qt 桌面应用程序扩展到 Web 服务