看板 Python 關於我們 聯絡資訊
懇求各位大大幫忙 排版如很亂 請見諒 本人python入門 想製作一個查詢電影對應哪些電影院的程式 以下是我的程式碼 不懂為什麼點選哪一個 都只會跑出同一些電影院 然而 tk.Radiobutton(base,text=movie[0],variable = radio_value,value = 0).pack() 如果把這些的base拿掉 可以正常運作 問題在哪呢 import tkinter as tk base = tk.Tk() base.title('高雄電影查詢程式') tk.Label(base,bg='gold',width=60,height=2,text='\n 歡迎使用本程式 \n 依您的需求點選需要的服務 \n').pack() def push(): import tkinter as tk base = tk.Tk() radio_value = tk.IntVar() radio_value.set(1) movie = {0:'瞞天過海:八面玲瓏',1:'侏羅紀世界殞落國度',2:'沒關係是渣男啊',3:'操控遊戲',4:'拉斐爾藝術之王',5:'烈愛交易',6:'美國羅曼死',7:'死侍2',8:'星際大戰外傳韓索羅',9:'龍怪客',10:'復仇者聯盟3無限之戰2',11:'真心話大冒險',12:'緊急呼救211',13:'姐就是美',14:'犬之島',15:'高壓行動',16:'真愛收信中',17:'暴動之城',18:'被愛妄想症',19:'CODE GEASS反叛的魯路修II叛道 ',20:'波伽利聲命之歌'} tk.Radiobutton(base,text = movie[0],variable = radio_value,value = 0).pack() tk.Radiobutton(base,text = movie[1],variable = radio_value,value = 1).pack() tk.Radiobutton(base,text = movie[2],variable = radio_value,value = 2).pack() tk.Radiobutton(base,text = movie[3],variable = radio_value,value = 3).pack() tk.Radiobutton(base,text = movie[4],variable = radio_value,value = 4).pack() tk.Radiobutton(base,text = movie[5],variable = radio_value,value = 5).pack() tk.Radiobutton(base,text = movie[6],variable = radio_value,value = 6).pack() tk.Radiobutton(base,text = movie[7],variable = radio_value,value = 7).pack() tk.Radiobutton(base,text = movie[8],variable = radio_value,value = 8).pack() tk.Radiobutton(base,text = movie[9],variable = radio_value,value = 9).pack() tk.Radiobutton(base,text = movie[10],variable = radio_value,value = 10).pack() tk.Radiobutton(base,text = movie[11],variable = radio_value,value = 11).pack() tk.Radiobutton(base,text = movie[12],variable = radio_value,value = 12).pack() tk.Radiobutton(base,text = movie[13],variable = radio_value,value = 13).pack() tk.Radiobutton(base,text = movie[14],variable = radio_value,value = 14).pack() tk.Radiobutton(base,text = movie[15],variable = radio_value,value = 15).pack() tk.Radiobutton(base,text = movie[16],variable = radio_value,value = 16).pack() tk.Radiobutton(base,text = movie[17],variable = radio_value,value = 17).pack() tk.Radiobutton(base,text = movie[18],variable = radio_value,value = 18).pack() tk.Radiobutton(base,text = movie[19],variable = radio_value,value = 19).pack() tk.Radiobutton(base,text = movie[20],variable = radio_value,value = 20).pack() def choose(): value = radio_value.get() if (value == 0): import tkinter as tk import tkinter.messagebox as msg response = msg.showinfo('電影於以下地點撥放','\n 高雄威秀\n 駁二電影院\n 高雄環球數位3D影城\n 國賓義大世界影城\n 喜滿客夢時代影城\n 國賓大魯閣草衙道影城\n 奧斯卡3D數位影城\n MLD影城\n 美奇萊影城\n 三多數位3D影城\n 岡山統一3D數位戲院\n MLD影城\n 奧斯卡3D數位影城\n 岡山統一3D數位戲院\n') elif (value == 1): import tkinter as tk import tkinter.messagebox as msg response = msg.showinfo('電影於以下地點撥放','\n 高雄威秀\n 駁二電影院\n 高雄環球數位3D影城\n 國賓義大世界影城\n 喜滿客夢時代影城\n 國賓大魯閣草衙道影城\n 奧斯卡3D數位影城\n MLD影城\n 美奇萊影城\n 和春影城\n 十全電影城\n 三多數位3D影城\n 岡山統一3D數位戲院\n 高雄市電影館\n MLD影城\n 奧斯卡3D數位影城\n 岡山統一3D數位戲院') elif (value == 4): import tkinter as tk import tkinter.messagebox as msg response = msg.showinfo('電影於以下地點撥放','\n MLD影城') elif (value == 5): import tkinter as tk import tkinter.messagebox as msg response = msg.showinfo('電影於以下地點撥放','\n MLD影城','奧斯卡3D數位影城') elif (value == 6): import tkinter as tk import tkinter.messagebox as msg response = msg.showinfo('電影於以下地點撥放','\n 奧斯卡3D數位影城') elif (value == 7): import tkinter as tk import tkinter.messagebox as msg response = msg.showinfo('電影於以下地點撥放','\n 駁二電影院\n 高雄威秀\n 高雄環球數位3D影城\n 國賓義大世界影城\n 美奇萊影城\n 喜滿客夢時代影城\n 國賓大魯閣草衙道影城\n MLD影城\n 奧斯卡3D數位影城\n 岡山統一3D數位戲院') elif (value == 8): import tkinter as tk import tkinter.messagebox as msg response = msg.showinfo('電影於以下地點撥放','\n 駁二電影院\n 高雄威秀\n 高雄環球數位3D影城\n 國賓義大世界影城\n 美奇萊影城\n 喜滿客夢時代影城\n 國賓大魯閣草衙道影城\n 三多數位3D影城\n MLD影城\n 奧斯卡3D數位影城\n 岡山統一3D數位戲院') elif (value == 9): import tkinter as tk import tkinter.messagebox as msg response = msg.showinfo('電影於以下地點撥放','\n 高雄威秀\n 高雄環球數位3D影城\n 國賓義大世界影城\n 美奇萊影城\n 喜滿客夢時代影城\n 國賓大魯閣草衙道影城\n 三多數位3D影城\n MLD影城\n 奧斯卡3D數位影城\n 岡山統一3D數位戲院') elif (value == 10): import tkinter as tk import tkinter.messagebox as msg response = msg.showinfo('電影於以下地點撥放','\n 高雄威秀\n 國賓義大世界影城\n 喜滿客夢時代影城\n 國賓大魯閣草衙道影城\n 三多數位3D影城\n MLD影城\n 奧斯卡3D數位影城') elif (value == 11): import tkinter as tk import tkinter.messagebox as msg response = msg.showinfo('電影於以下地點撥放','\n 高雄威秀\n 高雄環球數位3D影城\n 喜滿客夢時代影城\n 國賓大魯閣草衙道影城\n 三多數位3D影城') elif (value == 12): import tkinter as tk import tkinter.messagebox as msg response = msg.showinfo('電影於以下地點撥放','\n 高雄威秀\n 高雄環球數位3D影城\ n美奇萊影城\n 喜滿客夢時代影城\n MLD影城') elif (value == 13): import tkinter as tk import tkinter.messagebox as msg response = msg.showinfo('電影於以下地點撥放','\n 駁二電影院\n 高雄威秀\n 高雄環球數位3D影城\n 喜滿客夢時代影城') elif (value == 14): import tkinter as tk import tkinter.messagebox as msg response = msg.showinfo('電影於以下地點撥放','\n 駁二電影院\n 高雄威秀\n 美奇萊影城\n MLD影城') elif (value == 15): import tkinter as tk import tkinter.messagebox as msg response = msg.showinfo('電影於以下地點撥放','\n 高雄威秀\n MLD影城\n 奧斯卡3D數位影城') elif (value == 16): import tkinter as tk import tkinter.messagebox as msg response = msg.showinfo('電影於以下地點撥放','\n 駁二電影院\n MLD影城') elif (value == 17): import tkinter as tk import tkinter.messagebox as msg response = msg.showinfo('電影於以下地點撥放','\n 三多數位3D影城\n 奧斯卡3D數位影城') elif (value == 18): import tkinter as tk import tkinter.messagebox as msg response = msg.showinfo('電影於以下地點撥放','\n 駁二電影院') elif (value == 20): import tkinter as tk import tkinter.messagebox as msg response = msg.showinfo('電影於以下地點撥放','\n 駁二電影院') else: import tkinter as tk import tkinter.messagebox as msg response = msg.showinfo('電影於以下地點撥放','\n 高雄威秀') tk.Button(base, text='選擇',command=choose).pack() button1 = tk.Button(base, text='想看什麼電影',command=push,height=5,width=30).pack() ----- Sent from JPTT on my OPPO X9009. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.246.136.9 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1529172194.A.3A4.html
gmccntzx1: 先把程式碼貼到 codepad/ideone/gist/... 上面 06/17 02:14
chliu6: 在Push()中,要用base=tk.Toplevel() 06/17 08:53
能否再請教為什麼把base設為最上層 就能成功 解決了!非常感謝你 ※ 編輯: Arrowrain (27.246.136.9), 06/17/2018 15:51:02 ※ 編輯: Arrowrain (27.246.136.9), 06/17/2018 16:00:25
chliu6: tk.Tk()只能有一個,若要呼叫新的window要用tk.Toplevel() 06/17 18:37