Rumah >pembangunan bahagian belakang >Tutorial Python >Pengenalan Rio Minimal
Pada awal November saya melihat pengumuman keluaran untuk Rio (https://rio.dev), perpustakaan Python yang akan datang untuk mencipta antara muka pengguna. Saya mempunyai pengalaman bertahun-tahun menggunakan Qt dengan Python dan sentiasa berminat untuk melihat pendekatan baharu.
Saya telah melalui tutorial Tic Tac Toe dan menemui banyak perkara yang saya suka. Saya pada mulanya kagum dengan kesederhanaan menulis antara muka menggunakan kelas komponen. Antara muka berjalan melalui dokumen HTML, yang dikapsulkan sepenuhnya oleh perpustakaan. Ini memberikan banyak kemungkinan tentang bagaimana dan di mana aplikasi Rio dijalankan. Rio secara pilihan menyertakan aplikasi paparan web kendiri. Walau bagaimanapun, saya secara kritis tidak menyukai alat baris arahan rio yang disertakan dan struktur projek awal yang diciptanya.
Saya rasa Rio berhak mendapat tutorial yang lebih ringan yang menghilangkan boilerplate dan abstraksi untuk menunjukkan potensi perpustakaan ini. Mari kita mulakan daripada tiada dan temui perasaan Rio membinanya untuk diri kita sendiri. Saya dapati bermula dengan uv adalah semudah yang saya harapkan.
uv init minirio --no-readme --no-pin-python --vcs none cd minirio uv add rio-ui[window]
Ciri [tetingkap] pilihan memasang banyak kebergantungan yang diperlukan untuk menjalankan apl kendiri. Juga sedar saya perlu menggunakan ==9.3 pada Windows kerana tiada binaan pyside.
Mari kita gunakan kod minimum yang diperlukan untuk membina aplikasi ini.
import rio class Greeting(rio.Component): name: str = 'World' def build(self): return rio.Row( rio.Icon('material/star', align_x=0.8, align_y=0.5), rio.Markdown(f'Hello, **{self.name}**', align_y=0.5), ) if __name__ == '__main__': app = rio.App(build=Greeting) app.run_in_window()
Ini ialah skrip Python biasa. Jalankan dengan penterjemah python anda.
uv run hello.py
Komponen adalah lebih daripada kaedah binaan yang mengembalikan komponen dan keadaan yang ditakrifkan pada kelas. Anda tidak mentakrifkan __init__ atau boilerplate biasa yang lain. Anda boleh menggantikan run_in_window dengan run_as_web_server dan berinteraksi dengan aplikasi ini dalam penyemak imbas anda.
Ia memerlukan sedikit masa untuk menambah beberapa interaktiviti. Berikut ialah komponen serupa yang menambahkan kotak pilihan dan penggayaan.
kecerunan = rio.LinearGradientFill( (rio.Color.RED, 0), (rio.Color.PINK, .3), ) salam kelas2(rio.Component): diperiksa: bool = False binaan def(diri): style = rio.TextStyle(fill=gradient) jika self.checked else 'text' kembalikan rio.Row( rio.Checkbox(is_on=self.bind().checked), rio.Text('Mawar berwarna merah.',> <p>Ini menggunakan self.bind() untuk mencipta pengikatan dua hala antara keadaan kotak semak dan atribut. Sebagai alternatif, adalah mudah untuk memberikan argumen on_change kotak pilihan kepada sebarang kaedah dan menukar atribut diri seperti yang dikehendaki.</p> <p><img src="https://img.php.cn/upload/article/000/000/000/173599336588947.jpg" alt="Minimal Rio Intro"></p> <p>Dapatkan contoh dan dokumentasi yang lebih lengkap di tapak web projek Rio. Secara peribadi, saya belum bersedia untuk meninggalkan dunia Qt dan Pyside, tetapi saya juga rasa masih cukup di Rio untuk diperhatikan.</p>
Atas ialah kandungan terperinci Pengenalan Rio Minimal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!