0
NFL 게임을 시뮬레이트 할 Tkinter로 초보자 프로그램을 만들려고합니다. 나는 Tkinter로 나의 '스코어 보드'를 만들면서 붙어있다. 아래 코드는 한 창에 점수 판의 일부를 가져오고 다른 창에는 두 개의 메뉴 단추를 제공합니다. 왜 이들은 별도의 창문에 있습니까? 사용자가 원하는 팀을 선택할 수 있도록 '자리 비움 팀'과 '홈 팀'옆에 두 개의 메뉴 버튼을 표시하려고합니다. 아직 계산을 걱정하지 않고 그냥 GUI를 실행하고 먼저 실행하려고합니다. 어떤 제안? 감사!Python Tkinter MenuButton
from Tkinter import *
try:
import Tkinter as tk
except ImportError:
import tkinter as tk
teams = ['Arizona Cardinals','Atlanta Falcons','Baltimore Ravens',
'Buffalo Bills','Carolina Panthers','Chicago Bears','Cincinnati Bengals',
'Cleveland Browns','Dallas Cowboys','Denver Broncos','Detroit Lions',
'Green Bay Packers','Houston Texans','Indianapolis Colts','Jacksonville Jaguars',
'Kansas City Chiefs','Miami Dolphins','Minnesota Vikings','New England Patriots',
'New Orleans Saints','New York Giants','New York Jets','Oakland Raiders','Philadelphia Eagles','Pittsburgh Steelers','San Diego Chargers','San Francisco 49ers',
'Seattle Seahawks','St. Louis Rams','Tampa Bay Buccaneers','Tennessee Titans',
'Washington Redskins']
class App(object):
def __init__(self, master):
self.frame = Frame(master)
self.frame.grid()
global root
root = tk.Tk()
root.geometry("%dx%d+%d+%d" % (330, 80, 200, 150))
root.title("tk.Optionmenu as combobox")
global var
var = tk.StringVar(root)
var.set('Arizona Cardinals')
sf = "value is %s" % var.get()
root.title(sf)
master.title("NFL Simulator")
self.lblTeamA = Label(self.frame,text = "Away Team")
self.lblTeamA.grid(row = 0, column = 0, sticky = "ew")
self.txtTeamA = tk.OptionMenu(root, var, *teams)
self.txtTeamA.pack(side='right', padx=10, pady=10)
self.txtTeamA.grid(row = 0, column = 1)
self.lblTeamB = Label(self.frame,text = "Home Team")
self.lblTeamB.grid(row = 1, column = 0, sticky = "ew")
self.txtTeamB = tk.OptionMenu(root, var, *teams)
self.txtTeamB.pack(side='right', padx=10, pady=10)
self.txtTeamB.grid(row = 1, column = 1)
self.btnCalc = Button(self.frame,text = "Simulate Game",command = self.calc)
self.btnCalc.grid(row = 3, column = 0, columnspan = 2)
self.lblScoreAPrompt = Label(self.frame,text = "Away Team Score")
self.lblScoreAPrompt.grid(row = 4, column = 0, sticky = "ew")
self.lblScoreA = Label(self.frame, bg = "white", anchor = "w")
self.lblScoreA.grid(row = 4, column = 1, sticky = "ew")
self.lblScoreBPrompt = Label(self.frame,text = "Home Team Score")
self.lblScoreBPrompt.grid(row = 5, column = 0, sticky = "ew")
self.lblScoreB = Label(self.frame, bg = "white", anchor = "w")
self.lblScoreB.grid(row = 5, column = 1, sticky = "ew")
def calc(self):
TeamA = int(self.txtTeamA.get())
TeamB = int(self.txtTeamB.get())
self.lblTeamA["text"] = random.randint(3,45)
self.lblTeamB["text"] = random.randint(3,45)
def main():
root = Tk()
app = App(root)
root.mainloop()
if __name__ == "__main__":
main()
@russherm 나는 그들을 어떻게 독립적으로 만들 수 있는지 보여주기 위해 나의 대답을 편집했다. – sPaz