Python 入門指南 5.0
exercise3602.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | # 從標準程式庫引入 Tk from tkinter import * # 從 tkinter 引入 font from tkinter import font # 從 tkinter 引入 ttk from tkinter import ttk # 引入 generate_result 定義 from exercise2906 import generate_result # 引入 time import time # 練習用的視窗類別 class JungleGUI(ttk.Frame): def __init__(self, master): ttk.Frame.__init__(self, master) self.winfo_toplevel().title("鬥獸棋模擬") self.root = master self.grid() self.label_font = font.Font(master, font="SF 64") self.createWidgets() self.style = ttk.Style() self.style.theme_use("alt") def createWidgets(self): self.display = Label(self) self.display["text"] = "口 口 口 口\n口 口 口 口\n口 口 口 口\n口 口 口 口\n" self.display["width"] = 20 self.display["bg"] = "white" self.display["fg"] = "black" self.display["font"] = self.label_font self.display.grid(row=0, column=0, sticky=N) self.button = Button(self) self.button["text"] = "開始模擬" self.button["font"] = self.label_font self.button["width"] = 14 self.button["height"] = 1 self.button["command"] = self.run_game self.button.grid(row=1, column=0, sticky=N) def run_game(self): self.button.config(state=DISABLED) self.button["text"] = "模擬進行中⋯⋯" self.text_list = generate_result() for text in self.text_list: self.display.config(text=text) self.root.update() time.sleep(0.4) self.button.config(state=NORMAL) self.button["text"] = "開始模擬" # 執行部分 if __name__ == '__main__': # 建立 Tk 應用物件 root = Tk() # 建立視窗物件 app = JungleGUI(master=root) # 呼叫維持視窗運作的 mainloop() root.mainloop() # 檔名: exercise3602.py # 說明:《Python入門指南》的練習 # 網站: http://kaiching.org # 作者: 張凱慶 # 時間: 2023 年 12 月 |