Hi Hi

'파이썬 위젯'에 해당되는 글 1건

  1. 파이썬(Python) - GUI 인터페이스 요소 위젯 , 레이블 위젯

파이썬(Python) - GUI 인터페이스 요소 위젯 , 레이블 위젯

 


GUI 화면에 추가하는 인터페이스 요소를 위젯이라고 합니다.

                              위젯                            설명 
 드롭다운  목록에서 하나의 항목을 선택할 수 있도록 하는 위젯
 레이블  윈도우 안에 스트링 메시지를 출력하는 위젯
 텍스트 상자  많거나 적은 양의 텍스트를 입력할 수 있는 위젯
 메뉴  윈도우의 꼭대기에 붙어 있는 일련의 명령 옵션들
 콤보상자  드롭다운 리스트와 텍스트 상자가 결합되어 있는 위젯
 대화상자  사용자에게 추가적인 정보를 입력하도록 요청하는 별도의 윈도우



결과를 출력하는 GUI 화면에
레이블을 추가해야 합니다.

GUI 윈도우에 레이블을 추가하기 위해서는 Label 위젯을 사용합니다.

l = Label(app, text='When you are ready, click on the buttons!', heigth = 3) 
// 새로이 레이블을 생성하고, 메인 윈도우에 연결하고, 텍스트를 설정하고, 높이를 조절합니다.
l.pack()  // 잊지 말고 위젯을 pack()를 사용합니다.


IntVar 생성

num_good = IntVar()
num_good.set(0)
ll = Label(app, textvariable = num_good)  // intVar를 레이블에 연결
ll.pack(side = 'left')
...
num_good(100)  //intVar의 값을 변경하기 위해 set() 메소드를 사용하면 마법에 걸린 듯이 GUI 화면의 내용이 변경됩니다.


레이블을 사용한 예제
from tkinter import*
import pygame.mixer  // 필요한 라이브러리 코드를 임포드 합니다.
def play_correct_sound():
    num_good.set(num_good()+1)
    correct_s.play()
def play_worng_sound():
    num_bad.set(num_bad.get()+1)
    wrong_s.play()  // IntVar의 값을 설정하고 사운드를 연주하는 두개의 이벤트 처리기를 생섭합니다.
app = Tk()
app.title("your thinter application")
app.geometry('300x110+200+100')  // GUI애플리케이션 윈도우를 생성합니다.
sound = pygame.mixer
sounds.init()  //사운드 시스템을 초기화 합니다.
correct_s = sounds.Sound("cprrect.wav")
wrong_s = sounds.Sound("wrong.wav")  // 필요한 사운드 효과 파일을 로드합니다.
num_good = IntVar()
num_good.set(0)
num_bad = IntVar()
num_bad.set(0)  //IntVar 를 두 개 생성해서 하나는 정답 수를, 다른 하나는 오답수를 셉니다.
lab = Label(app, text='When you are ready, click on the buttons!', heigth = 3)  // 무엇을 해야하는지 진행자에게 할려주는 메시지
lab.pack()
lab1 = LookupErroravel(app, textvariable = num_good)
lab1.pack(side = 'left')

lab2 = LookupErroravel(app, textvariable = num_bad)
lab2.pack(side = 'right')  // 두 개의 레이블을 새성하여 관련된 IntVar에 연결합니다.
b1 = Button(app, text = "correct" , width = 10, \
command = play_correct_sound)
b1.pack(side='left', padx =10, pady=10)
b2 = Button(app, text = "Wrong!" , width = 10, \
command = play_worng_sound)
b2.pack(side='right', padx =10, pady=10)  // 두 개의 버튼을 생성하여 관련된 이벤트 처리기에 연결합니다.

app.minloop()  // tkinter의 메인 이벤트 루프를 시작합니다.