Mereka bentuk antara muka pengguna interaktif untuk aplikasi Kivy adalah mudah dan berkesan dengan menggunakan butang dalam fail .kv. Kivy ialah rangka kerja Python untuk membina aplikasi merentas platform yang menggunakan jenis fail .kv untuk memisahkan penampilan visual dan kefungsian butang daripada kod asas. Bahasa pengisytiharan fail .kv digunakan untuk menyediakan sifat butang seperti teks, saiz dan pengendali acara, membolehkan pembangun mencipta antara muka pengguna yang ringkas, padat dan boleh diurus. Pembangun boleh menukar penampilan dan kefungsian butang dengan mudah dengan menambahkannya terus ke fail .kv tanpa menambah kandungan berlebihan dalam kod Python
Ciri Python Kivy
Pengenalan butang
Reka bentuk apl dengan Kivy
Rangka Kerja Antara Muka Pengguna (UI): Untuk mencipta UI interaktif, Kivy menyediakan pelbagai widget dan pengurus susun atur untuk memenuhi pelbagai keperluan. Ia serasi dengan pelbagai teknologi input, termasuk gerak isyarat sentuh, klik tetikus, acara papan kekunci dan banyak lagi
Sokongan Pelbagai Sentuhan: Kivy sesuai untuk peranti berdaya sentuh seperti telefon pintar dan tablet, kerana ia direka untuk mengurus interaksi berbilang sentuhan.
Grafik dan Animasi: Terima kasih kepada keupayaan grafik hebat Kivy, pembangun boleh mencipta apl yang cantik dengan animasi dan peralihan yang lancar.
Pembangunan Merentas Platform: Memandangkan aplikasi Python Kivy sememangnya merentas platform, pembangun hanya perlu menulis kod sekali untuk menggunakannya merentas berbilang platform tanpa membuat perubahan besar.
Sumber Terbuka dan Didorong Komuniti: Komuniti pembangun dan sukarelawan yang berkembang maju terus menambah baik dan mengembangkan projek sumber terbuka Kivy.
Mudah dipelajari: Sintaks Kivy adalah ringkas dan intuitif, menjadikannya mudah difahami terutamanya untuk pembangun Python. Kedua-dua pemula dan pembangun berpengalaman boleh menggunakannya kerana ia memerlukan pendekatan deklaratif apabila membina antara muka pengguna
Dalam Kivy, widget butang ialah widget interaktif yang merekodkan input pengguna dan memulakan tindakan atau acara tertentu dalam program Python. Mereka membenarkan pengguna berinteraksi dengan aplikasi dan merupakan komponen utama antara muka pengguna. Dalam kebanyakan aplikasi, butang bertindak balas kepada sentuhan, klik tetikus, tindakan papan kekunci, dsb., dan mempunyai perwakilan visual seperti teks atau imej
Kelas Button ialah komponen perpustakaan Kivy dan digunakan untuk mewakili butang dalam Python. Ia boleh diisytiharkan dalam fail .kv menggunakan sintaks deklaratif atau secara pemrograman menggunakan kod Python. Dengan menggunakan pelbagai sifat dan pengendali acara kelas Button, pembangun boleh menukar rupa dan tingkah laku butang agar lebih sesuai dengan keperluan program dan membuat keputusan termaklum serta merancang perkara secara berbeza.
Pasang Kivyy: Sebelum anda mula mereka bentuk aplikasi anda, pastikan anda telah memasang Kivy pada komputer anda. Menggunakan pip anda boleh memasangnya:
pip install kivy
Import modul yang diperlukan: Import modul yang berkaitan daripada Kivy ke dalam skrip Python anda.
from kivy.app import App from kivy.uix.button import Button from kivy.uix.boxlayout import BoxLayout
Buat pengendali acara butang dan kelas aplikasi Kivy: Buat kaedah yang akan dipanggil apabila butang ditekan dan tentukan kelas yang diperoleh daripada Apl.
class MyApp(App): def build(self): layout = BoxLayout(orientation='vertical') button = Button(text='Click Me!', on_press=self.on_button_press) layout.add_widget(button) return layout def on_button_press(self, instance): print("Button was pressed!")
Jalankan aplikasi Kivy
if __name__ == "__main__": MyApp().run()
Laksanakan skrip
python your_script.py
Terima kasih kepada sintaks intuitifnya, Python Kivy membolehkan pembangun dengan pelbagai kemahiran untuk mencipta aplikasi merentas platform dinamik dengan mudah. Ia memberikan pengalaman pengguna yang menarik merentasi platform berbeza dengan sokongan berbilang sentuhan, perpustakaan widget yang kaya dan ciri animasi yang memikat. Oleh sebab itu, Kivy digunakan secara meluas untuk mencipta pelbagai aplikasi inovatif yang melayani pelbagai industri dan sektor.
Permainan arked klasik Pong ialah titik permulaan yang bagus untuk mempelajari kemahiran pengaturcaraan permainan Python Kivy. Dengan rangka kerja sumber terbuka Kivy, pembangun boleh mencipta program dan permainan merentas platform dengan mudah, dan Pong menyediakan peluang yang sangat baik untuk menyiasat potensinya untuk menjana pengalaman permainan interaktif. Dua pemain bersaing untuk mata dengan memanipulasi raket mereka untuk melantun bola ke depan dan ke belakang semasa bola memecut.
Sediakan persekitaran: Pasang mana-mana perpustakaan yang diperlukan, termasuk Kivy.
Reka bentuk antara muka permainan: Untuk menentukan susun atur permainan (termasuk raket, bola dan paparan skor), cipta fail Kivy.kv.
Buat Kod Python: Laksanakan logik permainan dalam Python untuk mengendalikan pergerakan papan, perlanggaran bola dan penjejakan skor.
Tetapkan Acara Permainan: Gunakan jam Kivy untuk mengemas kini keadaan permainan dan mengendalikan acara seperti pergerakan bola dan pengesanan perlanggaran
Tambah Kawalan Permainan: Laksanakan peristiwa sentuh atau papan kekunci untuk mengawal bezel
Menguji dan Menyahpepijat: Jalankan permainan, uji fungsinya dan buat pelarasan yang diperlukan.
Buat dua fail: fail Python bernama main.py dan fail Kivy bernama pong.kv
from kivy.app import App from kivy.uix.widget import Widget from kivy.properties import ( NumericProperty, ReferenceListProperty, ObjectProperty ) from kivy.vector import Vector from kivy.clock import Clock class PongPaddle(Widget): score = NumericProperty(0) def bounce_ball(self, ball): if self.collide_widget(ball): vx, vy = ball.velocity offset = (ball.center_y - self.center_y) / (self.height / 2) bounced = Vector(-1 * vx, vy) vel = bounced * 1.1 ball.velocity = vel.x, vel.y + offset class PongBall(Widget): velocity_x = NumericProperty(0) velocity_y = NumericProperty(0) velocity = ReferenceListProperty(velocity_x, velocity_y) def move(self): self.pos = Vector(*self.velocity) + self.pos class PongGame(Widget): ball = ObjectProperty(None) player1 = ObjectProperty(None) player2 = ObjectProperty(None) def serve_ball(self, vel=(4, 0)): self.ball.center = self.center self.ball.velocity = vel def update(self, dt): self.ball.move() self.player1.bounce_ball(self.ball) self.player2.bounce_ball(self.ball) if (self.ball.y < self.y) or (self.ball.top > self.top): self.ball.velocity_y *= -1 if self.ball.x < self.x: self.player2.score += 1 self.serve_ball(vel=(4, 0)) if self.ball.right > self.width: self.player1.score += 1 self.serve_ball(vel=(-4, 0)) def on_touch_move(self, touch): if touch.x < self.width / 3: self.player1.center_y = touch.y if touch.x > self.width - self.width / 3: self.player2.center_y = touch.y class PongApp(App): def build(self): game = PongGame() game.serve_ball() Clock.schedule_interval(game.update, 1.0 / 60.0) return game if __name__ == '__main__': PongApp().run()
#:kivy 1.0.9 <PongBall>: size: 50, 50 canvas: Ellipse: pos: self.pos size: self.size <PongPaddle>: size: 25, 200 canvas: Rectangle: pos: self.pos size: self.size <PongGame>: ball: pong_ball player1: player_left player2: player_right canvas: Rectangle: pos: self.center_x - 5, 0 size: 10, self.height Label: font_size: 70 center_x: root.width / 4 top: root.top - 50 text: str(root.player1.score) Label: font_size: 70 center_x: root.width * 3 / 4 top: root.top - 50 text: str(root.player2.score) PongBall: id: pong_ball center: self.parent.center PongPaddle: id: player_left x: root.x center_y: root.center_y PongPaddle: id: player_right x: root.width - self.width center_y: root.center_y
Python Kivy 作为开源框架在创建 Pong 游戏中的无缝实现就是其有效性的一个例子。事实证明,从头开始创建游戏的过程是一次无价的学习机会,让我们对用户界面设计、Python 事件处理和基本游戏开发原理有了深入的了解。
Atas ialah kandungan terperinci Bekerja dengan butang menggunakan Python Kivy dan fail .kv. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!