Разработка многостраничного приложения, такого как интерфейс Viber, с использованием Qt Quick?

Я хочу разработать приложение для Android с таким интерфейсом, как Viber. Несколько страниц, которые пользователь может пролистывать между ними.

Как я могу сделать это с Qt и Qt Quick?

StackView - это то, что мне нужно?

1 ответ

Я не использовал Viber на Android, но на iOS (и последний раз, когда я использовал его более года назад) внизу был UITabBarController, который переключался между несколькими основными экранами. Например, на экране контакта отображался UITableView, обернутый в UINavigationController, чтобы вы могли выбрать контакт и просмотреть сведения о нем.

Так что вы могли бы сделать это:

  • Создайте компонент TabBar QML и закрепите его снизу.
  • Создайте компонент Tab, который можно использовать повторно, так что вы можете просто добавить новые вкладки в TabBar с помощью метода, такого как addTab(Component, string), где Component - это настраиваемый компонент Tab для многократного использования, а string - это имя файла QML вашего представления, которое может быть загружено с отложенным доступом. Загрузчик.
  • В своем файле контактов QML (или любом другом, для которого требуется "Master-Detail View"), вы можете затем создать StackView и добавить любое необходимое представление в качестве компонентов.

Прочитайте хотя бы это: http://doc.qt.io/qt-5/qml-qtquick-controls-stackview.html

Обязательно прочтите также, как работают QML Loader и QML Component, так как они послужат основой для большей части этого. Возможно, вы захотите поэкспериментировать с этим сначала в отдельном проекте, прежде чем углубляться в настоящий интерфейс.

Другие вопросы по тегам