Pull to refresh

Comments 14

У стороннего наблюдателя, глядя на все эти зелёные прямоугольники с синим контуром и закруглёнными краями, может возникнуть ассоциация с рисованными на flash интерфейсами. И может показаться, что это что-то несерьёзное.
Но на самом деле, на qml очень хорошо получается сделать компоненты в том же стиле Material Design. Так что, на мой взгляд, если знаешь питон и нужно писать GUI приложение, стоит обратить внимание на эту технологию.
Мой пример qml-интерфейса


Красиво! Может опубликуете код и статью? :)
Статью писать смысла особо нет, так как в официальной документации сказано обо всём том же.
А код… залил на Bitbucket. Но код очень далёк от совершенства (заранее предупреждаю):
https://bitbucket.org/mmalanuck/qmaterial

Так же пытался описать свои компоненты в виде документации, может тоже будет интересно пробежаться глазами:
https://mmalanuck.bitbucket.io/material_ui/
не только в стиле Material. Там есть возможности стилизации компонентов, есть Qt.labs.platforms для нативно выглядящих компонентов. Можно код шейдеров писать прямо в ShaderEffect. Его возможности много превосходят старые добрые QtWidgets.

Всё самое интересное начинается, когда перекладываешь архитектуру приложения на QML, а бекенд-классы пишешь на с++ (хотя и на питоне можно) и просто регистрируешь. Получается простой, модульный и переиспользуемый код

Вот это интересный вариант!
Интересно посмотреть насколько сложный QML для этого пришлось написать.
Я 2 года назад сделал приложение на Python3+Qt5. Интерфейс несложный, но на QML выходила очень сложная реализация (хотел сделать кнопку-прогрессбар, на которую можно и тыкать, и которая сразу же показывает прогресс своей задачи), в итоге оказалось проще сделать на QWidget и стилизовать QSS.

Несложный. Процесс создания компонент немного напоминает работу с React на js. Ссылку на исходники я написал в комментарии чуть выше.
Здравствуйте, прочитав ваш комментарий, я решил тоже попробовать сделать приложение в стиле Material. И сразу попал в просак. Не могли бы вы посмотреть тут и подсказать что делать вообще?
Это начало? Будет серия?
Не просто заинтересовало — заинтриговало!
Жду продолжения.
Спасибо за статью!
Спасибо большое за комментарий. Да это начало серии уроков.

А почему вы объект QQuickView() присвоили переменной appLabel? Почему это appLabel? Label — это же подпись. Может лучше было бы view = QQuickView()?

Спасибо за Ваш комментарий. Так, конечно, будет понятнее. Поправлю.
Спасибо за статью!
С нетерпением жду продолжения :) Будет интересно посмотреть на взаимодействие QML с самим питоном.
Спасибо за статью, где про это можно почитать что надо установить? Из статьи не совсем понятно что должно быть установлено (
Спасибо за комментарий. Вы должны установить python 3.x и PyQt5.
Sign up to leave a comment.

Articles