[문제 2]. Tkinter를 이용하여 다음과 같이 연동할 수 있도록 프로그램을 작성합니다.
실행 결과 1 : 다음과 같이 레이아웃을 설계 된다.
실행 결과 2 : 버튼을 클릭하게 되면 숫자 입력상자가 출력 된다.
실행 결과 3: 숫자를 입력하고 ok 버튼을 클릭하면 Fibonacci 계산 결과가 먼저 만들어 놓은 부모창으로 리턴 된다.
# -*- coding:utf-8 -*-
import tkinter as tk
import tkinter.simpledialog as sd
import math
class main_window(tk.Frame):
def __init__(self, parent):
super(main_window, self).__init__(parent)
parent.title("Fibonacci")
parent.minsize(200,100)
# (1)_____________________________________________
self.label.pack()
self.buttons = tk.Button(parent, text="Integer Input", fg="red",command=self.M_askint)
self.buttons.pack()
def M_fibonacci(self, n):
if n==0:
return 0
if n==1:
return 1
return (self.M_fibonacci(n-2)+self.M_fibonacci(n-1))
def set(self, st):
self.label.config(text=st)
def M_askint(self):
# (2)____________________________
fn = # (3)_________________________
self.set(fn)
if __name__ == '__main__':
root = tk.Tk()
mw = main_window(root)
# (4)_______________________________________
# (1) 부모 창에 “Fibonacci”가 출력되는 Label를 생성한다
# (2) 차일드 창에 정수를 입력 받는 코드를 작성한다
# (3) Fibonacci 연산한 결과를 가진 함수를 호출한다.
# (4) 툴킷을 실행 하는 코드를 작성 한다