Contoh berikut ini menampilkan Canvas Stress yang akan memunculkan random kotak2 kecil atau small square dan juga menampilkan performansi dari Engine Graphics dari Kivy.
Tanpilannya akan seperti ini :
Saya menggunakan Python 2.7.18 dari Python.org dengan Kivy Garden yang sudah saya install Package Kivy dari Pypi.org
Setelah program dijalankan akan terlihat tampilan kotak windows dengan beberpa button dibagian kiri bawah yang dapat anda click dan akan muncul kotak kotak square kecil dengan warna yang random dan bisa anda tambahkan mulai 100 small square, 5000 small square dan dapat anda kalikan 2 jumlahnya serta dapat anda reset, ketika anda reset layar tampilan windows akan blank , kotak kotak kecil akan hilang, dan proses memunculkan kotak kotak kecil dapat dilakukan lagi dengan mengulang proses yang sudah dijelas\kan tadi, misal klik kotak 100 atau 5000 , dan seterusnya.
Listing programnya :
from kivy.uix.button import Button
from kivy.uix.widget import Widget
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout
from kivy.app import App
from kivy.graphics import Color, Rectangle
from random import random as r
from functools import partial
class StressCanvasApp(App):
def add_rects(self, label, wid, count, *largs):
label.text = str(int(label.text) + count)
with wid.canvas:
for x in range(count):
Color(r(), 1, 1, mode='hsv')
Rectangle(pos=(r() * wid.width + wid.x,
r() * wid.height + wid.y), size=(20, 20))
def double_rects(self, label, wid, *largs):
count = int(label.text)
self.add_rects(label, wid, count, *largs)
def reset_rects(self, label, wid, *largs):
label.text = '0'
wid.canvas.clear()
def build(self):
wid = Widget()
label = Label(text='0')
btn_add100 = Button(text='+ 100 rects',
on_press=partial(self.add_rects, label, wid, 100))
btn_add500 = Button(text='+ 500 rects',
on_press=partial(self.add_rects, label, wid, 500))
btn_double = Button(text='x 2',
on_press=partial(self.double_rects, label, wid))
btn_reset = Button(text='Reset',
on_press=partial(self.reset_rects, label, wid))
layout = BoxLayout(size_hint=(1, None), height=50)
layout.add_widget(btn_add100)
layout.add_widget(btn_add500)
layout.add_widget(btn_double)
layout.add_widget(btn_reset)
layout.add_widget(label)
root = BoxLayout(orientation='vertical')
root.add_widget(wid)
root.add_widget(layout)
return root
if __name__ == '__main__':
StressCanvasApp().run()
Saya menggunakan Python IDLE , Integrated Development Environment untuk Python 2.7.18 . Setelah dijalankan , hasilnya sebagai berikut :
Hasilnya setelah di klik x 100 small rectangles :
untuk jumlah rectangle lainnya :
0 Response to "Contoh Pemrograman Canvas Stress dengan Kivy dari Gallery Contoh Kivy.org"
Post a Comment