
Bukan rahasia lagi bahwa ruang lingkup
Python cukup luas: dari teknologi berbasis web, industri game, dan berakhir dengan proyek
NASA . Python bekerja hampir di mana-mana: dari komputer genggam dan telepon pintar hingga server jaringan dan pada hampir semua platform terkenal seperti
Windows, Linux / UNIX, macOS, Palm OS, Raspberry PI dan sebagainya. Berkat kerangka kerja
Kivy, pada tahun 2011
Python juga menguasai platform seluler dalam hal mengembangkan aplikasi untuk
iOS dan
Android , dan pada 2015, menggunakan perpustakaan
KivyMD, Python belajar menggunakan
Material Design .
Perpustakaan
KivyMD adalah kumpulan widget dalam gaya
Desain Bahan , untuk digunakan dalam kerangka kerja lintas platform
Kivy . Dalam artikel saya sebelumnya
KivyMD - hidup terus berjalan , yang dirilis setahun yang lalu, saya sudah berbicara tentang percabangan perpustakaan ini, tetapi dalam
masalah dan surat saya sering menerima pemberitahuan bahwa fitur yang dinyatakan dalam percabangan tidak tersedia saat memasang
KivyMD dari
PyPi . Dan ini benar-benar terjadi, karena
PyPi berisi versi lama perpustakaan empat tahun lalu dari repositori
GitLab , yang tidak lagi didukung oleh penulis dan, karena kami tidak ingin menggunakan nama baru untuk garpu kami, seperti garpu KivyMD, dan memuat paket ke
PyPi dengan ini nama, diputuskan untuk menulis kepada penulis
KivyMD Andrés Rodríguez (@mixedCase_) dan memintanya untuk menghapus paketnya. Setelah beberapa negosiasi panjang, Andre memberi kami undangan ke
Paket Python , asalkan ia akan tetap menjadi co-penulis perpustakaan. Jadi sekarang repositori perpustakaan resmi ada di
sini , dan pembaruan terbaru kami tersedia di
PyPi .
Jadi, perubahan apa yang terjadi di perpustakaan setahun kemudian? Terima kasih kepada orang-orang yang menggunakan
KivyMD dalam proyek mereka, kami telah menghilangkan banyak kesalahan. Ada 81 pertanyaan tertutup dalam repositori. Ini jika Anda tidak mempertimbangkan bahwa bagian terbesar dari masalah diselesaikan dalam dukungan pengguna
obrolan obrolan online . Ada bagian bahasa Rusia dan bahasa Inggris di dalamnya. Tidak semua spesifikasi
Desain Bahan saat ini diterapkan, karena hampir dua orang bekerja di perpustakaan di waktu luang mereka. Apa yang telah diterapkan dan apa yang ingin saya implementasikan dapat dilihat
dalam daftar ini . Ini masih jauh dari selesai, tetapi Anda dapat menambahkannya, karena akses pengeditan terbuka untuk semua orang. Berikut beberapa widget baru:
Tip alat
Tip desain bahancontoh kodefrom kivy.lang import Builder from kivy.factory import Factory from kivymd.app import MDApp Builder.load_string(''' #:import random random #:import hex_colormap kivy.utils.hex_colormap #:import get_color_from_hex kivy.utils.get_color_from_hex #:import md_icons kivymd.icon_definitions.md_icons #:set ICONS list(md_icons.keys()) <IconButtonTooltips@MDIconButton+MDTooltip> <ExampleTooltips@BoxLayout> orientation: 'vertical' MDToolbar: title: "Example Tooltips" md_bg_color: get_color_from_hex(hex_colormap["crimson"]) elevation: 10 left_action_items: [['dots-vertical', lambda x: None]] tooltip_text: "MDToolbar" Screen: BoxLayout: size_hint: None, None size: self.minimum_size padding: "10dp" spacing: "10dp" pos_hint: {'center_x': .5, "center_y": .9} IconButtonTooltips: icon: random.choice(ICONS) tooltip_text: "MDIconButton" IconButtonTooltips: icon: random.choice(ICONS) tooltip_text: "MDIconButton" IconButtonTooltips: icon: random.choice(ICONS) tooltip_text: "MDIconButton" IconButtonTooltips: icon: random.choice(ICONS) tooltip_text: "MDIconButton" IconButtonTooltips: icon: random.choice(ICONS) tooltip_text: "MDIconButton" IconButtonTooltips: icon: random.choice(ICONS) tooltip_text: "MDIconButton" ''') class Test(MDApp): def build(self): return Factory.ExampleTooltips() Test().run()

* Contoh Mac OSBilah aplikasi bawah
Bilah Bawah Aplikasi Material DesignDi sebelah kiri adalah contoh bagaimana
Bottom App Bar bekerja dari aplikasi demo
Flutter , di sebelah kanan adalah demonstrasi
pustaka KivyMD Bottom App Bar .
contoh kode from kivy.factory import Factory from kivymd.app import MDApp from kivy.lang import Builder Builder.load_string( """ <BottomAppBar@Screen> BoxLayout: spacing: dp(10) orientation: 'vertical' MDToolbar: title: "Title" md_bg_color: app.theme_cls.primary_color left_action_items: [['menu', lambda x: x]] Widget: MDBottomAppBar MDToolbar: title: "Title" icon: "git" type: "bottom" left_action_items: [["menu", lambda x: x]] """ ) class BottomAppBarTest(MDApp): def build(self): return Factory.BottomAppBar() BottomAppBarTest().run()
Backdropr
Desain Bahan BackdroprDi sebelah kiri adalah contoh bagaimana
Backdropr bekerja dari aplikasi demo
Flutter , di sebelah kanan adalah demonstrasi dari
Backdropr dari perpustakaan
KivyMD .
Kami juga menambahkan bagian
Studi ke perpustakaan, yang akan menyelenggarakan aplikasi demo seperti
Shrine ,
Basil, dan lainnya. Untuk saat ini, Anda dapat melihat seperti apa aplikasi
Shrine :
Dan ini adalah hal yang sama, tetapi dari aplikasi
Flutter :
Jadi
KivyMD terlihat di perangkat
Android . Di beberapa tempat, tentu saja, ada masalah kinerja, tetapi ini menyangkut, kemungkinan besar,
Kivy sendiri. Misalnya, masih ada masalah dengan memulai perpustakaan "berat". Dalam video berikut, saya memberi contoh aplikasi menggunakan
OpenCV sebagai backend ke kamera
Android :
Dalam kasus khusus ini, tidak ada yang bisa dilakukan, karena pada awalnya, tidak hanya
OpenCV dan
NumPy yang dimuat, tetapi juga panggilan asli terjadi untuk menghubungkan semua ini. Namun, aplikasi seluler yang dirancang dengan baik di
Kivy dan
KivyMD dimulai dengan cukup cepat. Semua ini berlaku untuk platform seluler. Tidak ada masalah seperti itu di desktop dan
KivyMD terlihat sangat cantik di sana:
OS Mac:
Windows:
Pada prinsipnya, tidak masalah OS mana yang akan bekerja, karena
KivyMD , seperti
Kivy, terlihat sama di mana-mana. Anda sendiri harus memutuskan jenis aplikasi yang akan dimiliki aplikasi Anda dan saya pikir ini hanya nilai tambah.
Kami memiliki banyak rencana, tetapi tidak cukup tangan. Misalnya, sementara tidak ada waktu untuk memperbaiki manajer file untuk sistem desktop, saya ingin memperkenalkan dukungan untuk widget iOS dan banyak lagi ... Namun, terlepas dari semua kekurangannya, jumlah unduhan dan minat pada perpustakaan bertambah setiap hari:
Bergabunglah dengan komunitas jika Anda menyukai Python seperti kami menyukainya!
Saluran YoutubeBerita KivyMDObrolan obrolan