Kanvas , yang berarti kanvas dalam bahasa Cina, berhubungan dengan area persegi panjang di modul Tkinter, memberi pengguna ruang untuk menggambar. Mereka dapat menempatkan grafik, teks, elips atau tombol, dan komponen lainnya di kanvas, dan juga dapat melukis pola.
Sebelum menggunakan komponen Canvas, pertama-tama kita harus mempelajari sistem koordinat layar yang sesuai.
Kami biasanya menggunakan piksel sebagai satuan gambar di komputer, dan setiap piksel memiliki 2 nilai. Pada komponen Canvas, koordinat sudut kiri atas jendela terkait adalah (0,0), yang berarti dalam sistem koordinat persegi panjang bidang. Sumbu x dan sumbu y yang bersesuaian keduanya adalah 0, dan koordinat sudut kanan bawah jendela adalah dua nilai maksimum dari sumbu x dan sumbu Y, seperti yang ditunjukkan pada gambar:
Saat kita menempatkan komponen di kanvas Canvas, kita harus memastikan bahwa koordinat komponen sudah benar.
Struktur sintaksis Canvas adalah:
my_canvas=Canvas(kelas induk, opsional)
Kelas induk adalah nama jendela lapisan atas yang kita tempatkan. Opsinya mencakup bd, bg, lanjutkan, kursor, tinggi, lebar, warna highlight, relief, wilayah gulir, dll. Opsi ini telah diperkenalkan sebelumnya, jadi saya tidak akan melanjutkan. terlalu detail di sini.
Ada banyak cara menggambar grafik menggunakan komponen Canves, antara lain create_line, create_rectangle, create_oval, create_arc, dan create_polygon. Kami akan memperkenalkannya satu per satu di bawah.
Format sintaksnya adalah sebagai berikut:
kanvas.create_line(x1,y1,x2,y2,...,xn,yn,pilihan)
Kita bisa menggunakan cara ini untuk menggambar garis lurus antara dua atau n titik pada kanvas. Dua koordinat pertama (x1, y1) adalah titik awal dan (xn, yn) adalah titik akhir.
Kodenya adalah sebagai berikut:
importtkinterclassTK:def__init__(self):self.window=tkinter.Tk()self.canvas=tkinter.Canvas(self.window,width=300,height =300,bg='pink')self.canvas.create_line(30,30,100,200,200,200,300,200,300,300)self.canvas.pack()tkinter.mainloop()m=TK()
Efeknya seperti yang ditunjukkan pada gambar:
Koordinat yang kita pilih adalah (30,30)->(100,200)->(200,200)->(300,300).
Sintaks untuk membuat persegi panjang adalah:
kanvas.create_rectangle(x1,y1,x2,y2, opsional)
Untuk menentukan persegi panjang hanya membutuhkan 2 buah koordinat, maka kita hanya memerlukan koordinat (x1, y1) dan (x2, y2) pojok kiri atas dan pojok kanan bawah.
importtkinterclassTK:def__init__(self):self.window=tkinter.Tk()self.canvas=tkinter.Canvas(self.window,width=30 0,tinggi=300,bg='merah muda')self.canvas.create_rectangle(100,100,200,200)self.canvas.pack()tkinter.mainloop()m=TK()
Pengoperasiannya seperti yang ditunjukkan pada gambar:
Format sintaksnya adalah sebagai berikut:
kanvas.buat.oval(x1,y1,x2,y2,opsional)
Posisi keempat koordinat tersebut seperti terlihat pada gambar:
Format sintaksnya adalah sebagai berikut:
canvas.create_arc(x1,y1,x2,y2,start=angle,extent=width,opsional)
Diantaranya, koordinatnya sesuai dengan elips pada gambar di atas. Nilai awal sesuai dengan sudut awal busur, dan luasnya sesuai dengan rentang sudut berlawanan arah jarum jam.
Kodenya adalah sebagai berikut:
importtkinterclassTK:def__init__(self):self.window=tkinter.Tk()self.canvas=tkinter.Canvas(self.window,width=300,height=30 0,bg='pink')self.canvas.create_arc(60,60,220,220,start=0,extent=120,fill='blue')self.canvas.pack()tkinter.mainloop()m=TK()
Pengoperasiannya seperti yang ditunjukkan pada gambar:
Format sintaksnya adalah sebagai berikut:
kanvas.create_polygon(x1,y1,x2,y2,...xn,yn,opsional)
Setiap koordinat berhubungan dengan suatu posisi, yang pertama adalah titik sudut pertama, yang dihubungkan secara berurutan, dan koordinat terakhir secara otomatis menutup poligon.
Kodenya adalah sebagai berikut:
importtkinterclassTK:def__init__(self):self.window=tkinter.Tk()self.canvas=tkinter.Canvas(self.window,width=300,height=300,bg='pink')self.canvas .create_polygon(150,0,200,100,300,100,200,185,280,280,150,230,20,280,100,185,0,100,100,100,fill='red')self.canvas.pack()tkinter.mainloop()m=TK()
Diagram yang berjalan adalah sebagai berikut:
Anda dapat menggambar grafik yang Anda inginkan dengan mengubah koordinat. Parameter opsional meliputi tanda hubung, garis besar, kedalaman, dan lebar.
Kita dapat menggambar berbagai pola melalui kanvas. Tentu saja, ini juga memiliki fungsi lain. Kita juga akan menggunakannya pada contoh di bagian selanjutnya.