버튼을 누르면 

두 텍스트박스를 단순이 합쳐서 보여주는 GUI

굉장히 심플하지만 거의 GUI 뼈대와 같은 중요한 화면이다

 


import tkinter as tk
from tkinter import ttk
from tkinter import scrolledtext


win = tk.Tk()
win.title("API test")


tabcontrol = ttk.Notebook(win)

tab1 = ttk.Frame(tabcontrol) #2개의 탭을 나누는 것
tabcontrol.add(tab1, text="탭원")
tab2 = ttk.Frame(tabcontrol)
tabcontrol.add(tab2, text="탭투")
tabcontrol.pack(expand=1, fill="both")

#==========================================================================

firstlabel = ttk.LabelFrame(tab1, text="첫번째 레이블 프레임") # 첫번째 테이블에서 레이블 프레임을 만듬
firstlabel.grid (column=0, row=0, padx=8, pady=4)

firstlabel_label1 = ttk.Label(firstlabel, text ="제목1: ") # 레이블프레임에 소속된 제목(레이블1)
firstlabel_label1.grid(column=0, row=0)

label1_textbox = tk.StringVar() #레이블1의 텍스트 입력 박스1
label1_textbox = ttk.Entry(firstlabel, width=30, textvariable=label1_textbox )
label1_textbox.grid(column=1, row=0)


firstlabel_label2 = ttk.Label(firstlabel, text ="제목2: ") # 레이블프레임에 소속된 제목2(레이블12)
firstlabel_label2.grid(column=0, row=1)

label2_textbox = tk.StringVar() #레이블1의 텍스트 입력 박스2
label2_textbox = ttk.Entry(firstlabel, width=30, textvariable=label2_textbox )
label2_textbox.grid(column=1, row=1)

#==========================================================================
#액션 클릭버튼 추가

def Execute():

action.configure(text="실행중") # 버튼의 실행 중 상태변경
action.configure(state="disabled")
print (label1_textbox.get()) #텍스트 박스 입력한 내용을 get
print (label2_textbox.get())
ResultViewlabel_ScrollBox.insert(tk.INSERT, label1_textbox.get() + label2_textbox.get() + "\n")
ResultViewlabel_ScrollBox.see(tk.END) #중요한 거다. 스크롤이 길어지면 최하단을 보게 한다

action.configure(text="실행") # 버튼의 실행완료 상태 변경
action.configure(state="abled")



action = ttk.Button(firstlabel, text="실행", command=Execute)
action.grid(column=0, row=2, sticky="W")

#==========================================================================

ResultViewlabel = ttk.LabelFrame(tab1, text="결과 확인") # 실행결과를 확인하는 콘솔창
ResultViewlabel.grid (column=0, row=3, padx=8, pady=4)

ResultViewlabel_ViewLabel = ttk.Label(ResultViewlabel, text ="Console: ")
ResultViewlabel_ViewLabel.grid(column=0, row=0, sticky="W")

ResultViewlabel_ScrollBox = scrolledtext.ScrolledText(ResultViewlabel, width=40, height=10, wrap=tk.WORD, font=('Normal',9))
ResultViewlabel_ScrollBox.grid(column=0, row=1) # 스크롤 형식의 텍스트박스 창 (콘솔창)

win.mainloop()

+ Recent posts