캔버스(Canvas)위젯 |
캔버스 위젯은 선, 타원, 다각형 및 직사각형과 같은 도형을 그리는 데 사용됩니다.
♣ 캔버스에 선 그리기 1
[ 캔버스에 선그리기1 소스 코드 ]
from tkinter import *
win=Tk()
win.title("캔버스에 선을 그려요")
win.geometry("500x250")
win.resizable(True, True)
canvas = Canvas(win, width=300, height=200, bg="light green", bd=2)
canvas.pack()
canvas.create_line(0, 10,100, 10, fill="blue")
canvas.create_line(0, 30,130, 30, fill="red")
canvas.create_line(0, 50,160, 50, fill="black")
canvas.create_line(0, 80,100, 80, fill="brown")
canvas.create_line(0, 100,100, 200, fill="brown")
canvas.create_line(100, 150,200, 00, fill="red")
win.mainloop()
♣ 캔버스에 선 그리기 2
[ 캔버스에 선그리기2 소스 코드 ]
from tkinter import *
win=Tk()
win.title("캔버스에 선을 그려요")
win.geometry("500x250")
win.resizable(True, True)
canvas = Canvas(win, width=300, height=200, bg="light green", bd=2)
canvas.pack()
for x in range(50, 300, 30):
canvas.create_line(x, 10,x, 200, fill="blue")
for y in range(10, 200, 30):
canvas.create_line(0, y,300, y, fill="red")
win.mainloop()
♣ 캔버스에 선 그리기 3
윈도우 사이즈를 변경하더라도 캔버스의 크기는 변경되지 않습니다.
캔버스를 창 크기에 맞춰 크기를 조정하고 싶으면 다음과 같이 하면 됩니다.
canvas.pack(fill="both", expand=True) |
[ 캔버스에 선그리기3 소스 코드 ]
from tkinter import *
win=Tk()
win.title("캔버스에 선을 그려요")
win.geometry("500x300")
win.resizable(True, True)
canvas = Canvas(win, width=300, height=200, bg="light green", bd=2)
canvas.pack(fill="both", expand=True)
for x in range(10, 500, 30):
canvas.create_line(x, 10,x, 280, fill="blue")
win.mainloop()
♣ 캔버스에 선 그리기 4
- 1초에 한개씩 선을 차례대로 그려봅시다.
- 일정 시간을 간격으로 달라지는 그림을 화면으로 표시하면 됩니다.
- 너무 빨리 그려지며 안되기 때문에 time모듈을 사용하여 1초에 선 한개씩 그립니다.
- win.update()는 화면을 다시 그립니다.
만약 update()를 호출하지 않으면 화면을 변경하지 않으면서 좌표면 변경되기 때문에 그려지지 않습니다.
[ 캔버스에 선그리기4 소스 코드 ]
from tkinter import *
import time
win=Tk()
win.title("캔버스에 선을 그려요")
win.geometry("500x300")
win.resizable(True, True)
canvas = Canvas(win, width=300, height=200, bg="light green", bd=2)
canvas.pack(fill="both", expand=True)
for x in range(10, 500, 30):
canvas.create_line(x, 10,x, 280, fill="blue")
win.update()
time.sleep(1)
win.mainloop()
'파이썬 GUI' 카테고리의 다른 글
12. 파이선 위젯 - 캔버스(원그리기) (0) | 2020.12.18 |
---|---|
11. 파이썬 위젯 - 캔버스(사각형그리기) (0) | 2020.12.16 |
9. 파이썬 위젯 - 리스트박스 (0) | 2020.12.15 |
8. 파이썬 위젯 - 프레임 (0) | 2020.12.14 |
7. 파이썬 위젯 - 체크버튼 (0) | 2020.12.13 |