在现代移动应用设计中,浮动操作菜单(Floating Action Menus)是一个重要的UI组件,它为用户提供了一种直观的方式来执行关键操作。本文将介绍如何在Qt/Qml项目中实现这一功能。
Qt是一个成熟的跨平台应用程序框架,它允许开发者使用C++语言在移动设备、嵌入式系统和桌面平台上构建原生应用。Qt已经发展了20多年,最初由Trolltech公司开发。Qt支持多种行业,包括工业自动化、企业应用、医疗、航空航天、石油和天然气、娱乐、车载信息娱乐、电视和机顶盒、移动和消费电子设备等。Qt提供了一个强大的声明式语言QML,用于快速开发富有表现力的用户界面。
本文提供的源代码可以在GitHub上找到。在源代码中,浮动操作菜单组件被命名为'fam'。除了'fam'组件,还包括两个示例项目。这个浮动操作菜单可以很容易地添加到应用程序中。以下是如何在C++/Qt项目中添加FloatingActionMenu的步骤。
在Qt Creator中,选择项目类型,然后选择Next。命名项目并选择Next。设置最低Qt项目版本为5.8,并选择Next。选择"kit",即平台,以创建。可以包括任何/所有能够构建的平台。由于在Windows系统上开发,并且安装了Android Studio,选择了Android、Windows桌面和Windows RT(Store应用)。验证新应用构建并成功运行。
将'fam'文件夹复制到项目文件夹中。通过选择项目菜单项"Add Existing Directory..."来添加'fam'组件。确保项目的Headers和Sources包含'fam'文件,并且Resources的前缀命名为'fam'。还需要按照所示更新项目文件。
需要对main.cpp进行更改,以包含FloatingActionsMenu支持:包括所需的头文件并初始化FloatingActions,如下所示。也可以参考示例应用。再次验证应用构建并成功运行。
首先在Qml中导入'fam'组件。接下来,添加FloatingActionsMenus信号,如下所示。为了支持按钮选择,添加一行代码,如下所示。运行应用。浮动操作菜单将显示在应用窗口的右下角,这是浮动操作菜单的默认位置。
Qt Creator的代码补全功能有助于了解FloatingActionsMenus的可用属性。除了从Qml Item继承的属性外,其他可用属性在fam/floatingactionmenu.hpp中描述。一个更完整的FloatingActionsMenu示例如下。它展示了如何通过将宽度设置为零来隐藏操作菜单的标签,以及如何分配FloatingActionsMenu图标。在Qml中使用ListModel定义FloatingActionsMenu按钮。
从任一示例项目中复制文件floatingactionsbottomright.cpp、floatingactionsbottomright.hpp、edit.png、add.png和delete.png到项目中。注意FloatingActionsBottomRight是从FloatingActions派生的。然后将C++文件添加到qmake(.pro)文件中,将图像文件添加到资源集合文件(.qrc)中。按照下面所示更新main.cpp以包含FloatingActionsBottomRight支持。在源文件floatingactionsbottomright.cpp中,可能需要更新对.png菜单按钮图像url的引用。
按照所示在Qml文件中添加菜单。验证新应用构建并成功运行。
通过运行两个示例,可以快速了解如何轻松地将FloatingActionsMenus添加到Qt/Qml跨平台应用程序中。