반응형

안녕하세요. 닥터 배도사입니다.
오늘은 Tkinter 를 이용하여 자기암시 GUI 프로그램을 만들어 보겠습니다.
화면에 표시된 버튼을 누르면
자기암시 문구가 화면에 표시되는 프로그램을 구현해 보려고 합니다.
코드
selftalk = ["할 수 있다.", "이 또한 지나가리라.", "나 자신을 믿자."]
# 표현할 자기암시 문구를 리스트로 만들어 selftalk라는 변수에 담아 줍니다.
import tkinter
from tkinter import *
from PIL import ImageTk
import random
# 필요한 모듈을 설치해 줍니다.
tkinter에서 .jpg 이미지 파일이 삽입이 되지 않아서 검색해 보니
PIL을 설치하고 ImageTK라는 모듈을 불러와야
.jpg 이미지 파일이 정상적으로 삽입이 됩니다.
win = Tk()
win.title("자기암시")
win.geometry("700x500")
def click_btn():
random_self = random.randint(0,2)
canvas.itemconfig(selfT, text = selftalk[random_self])
# 버튼을 누르면 실행이 될 함수를 설정해 줍니다.
randint를 이용하여 0에서 2까지 임의의 숫자를 random_self라는 변수에 담습니다.
앞서 정의한 selftalk의 random_self 번째 변수가
뒤에서 설정할 selfT 변수의 텍스트에 표시되도록 설정하였습니다.
canvas = Canvas(win, width=700, height=500, bg="pink")
canvas.pack()
# 캔버스를 700x500의 크기, 핑크색 바탕으로 설정해 줍니다.
img = ImageTk.PhotoImage(file="HTML\selftalk.jpg")
canvas.create_image(350, 250, image = img)
# 캔버스의 배경에 이미지를 넣어줍니다.
앞서 언급했지만 .jpg 파일을 넣으려면
PIL을 설치하고 ImageTK라는 모듈을 불러와야 되는 것으로 생각됩니다.
selfT = canvas.create_text(350, 250, text="자기암시", fill="white", font=("나눔바른펜", 30, "bold"))
# 캔버스 안에 "자기암시"라는 텍스트를 만들어 표시하고 selfT라는 변수에 담아 둡니다.
버튼을 누르면 이 "자기암시"라는 문구는
앞서 정의한 click_btn이라는 함수에 의해
selftalk 리스트에 있는 자기암시 문구 중 하나로 대체가 됩니다.
btn = Button(win, text="보기", font=("나눔바른펜", 20, "bold"), bg="pink", command = click_btn)
btn.place(x=320, y=350)
# 버튼을 만들어 줍니다.
command 명령어를 이용하여 버튼을 누르면
앞서 시행한 click_btn이라는 함수가 실행되도록 해줍니다.
win.mainloop()
결과
반응형
'tkinter' 카테고리의 다른 글
Tkinter 기본 위젯 종류 (0) | 2022.07.23 |
---|---|
[tkinter] BMI 계산기 만들기(ver.2) (0) | 2022.07.22 |
파이썬 tkinter, 우울증 간이검사 설문지 만들어 보기(feat. radiobutton) (0) | 2021.12.21 |
[파이썬 tkinter] Radiobutton 사용하기 (0) | 2021.12.20 |
[파이썬 tkinter] checkbutton 사용하기 (0) | 2021.12.20 |