【发布时间】:2021-06-08 12:58:17
【问题描述】:
我对 python 非常陌生,我正在尝试制作一个可以跟踪篮球比赛中团队成员统计数据的程序。我对设计没有任何问题,但功能是一个难题,我不确定如何拥有它,以便我可以按下按钮并将正确的积分和统计数据分配给正确的团队成员。
我希望能够选择输入框,然后按其中一个按钮来添加积分/统计数据,或者使用菜单功能并让它以这种方式工作。
import sys
from tkinter import *
from tkinter import messagebox
newWindow=Tk()
newWindow.title("Stats")
newWindow.geometry("665x300")
newWindow.configure(bg='light blue')
Label(newWindow, text ="", bg='light blue').grid(row=9, column=1)
twoButton = Button(newWindow,text = '2pt +').grid(row=10, column=3)
threeButton = Button(newWindow,text = '3pt +').grid(row=10, column=4)
assistButton = Button(newWindow,text = 'Assist +').grid(row=10, column=5)
reboundButton = Button(newWindow,text = 'Rebound +').grid(row=10, column=6)
stealButton = Button(newWindow,text = 'Steal +').grid(row=10, column=7)
blockButton = Button(newWindow,text = 'Block +').grid(row=10, column=8)
turnoverButton = Button(newWindow,text = 'Turnover +').grid(row=10, column=9)
Label(newWindow, text ="john:", bg='light blue').grid(row=2, column=1)
Label(newWindow, text ="simon:", bg='light blue').grid(row=3, column=1)
Label(newWindow, text ="joel:", bg='light blue').grid(row=5, column=1)
Label(newWindow, text ="kaur:", bg='light blue').grid(row=6, column=1)
Label(newWindow, text ="genom:", bg='light blue').grid(row=7, column=1)
Label(newWindow, text ="kieran:", bg='light blue').grid(row=8, column=1)
Label(newWindow, text ="2pts:", bg='light blue').grid(row=1, column=2)
Label(newWindow, text ="3pts:", bg='light blue').grid(row=1, column=3)
Label(newWindow, text ="Assists:", bg='light blue').grid(row=1, column=4)
Label(newWindow, text ="Rebounds:", bg='light blue').grid(row=1, column=5)
Label(newWindow, text ="Steals:", bg='light blue').grid(row=1, column=6)
Label(newWindow, text ="Blocks:", bg='light blue').grid(row=1, column=7)
Label(newWindow, text ="Turnovers:", bg='light blue').grid(row=1, column=8)
johnTwoP = Entry(newWindow, width = 2, state = 'readonly').grid(row=2, column=2)
johnThreeP = Entry(newWindow, width = 2, state = 'readonly').grid(row=2, column=3)
johnAssists = Entry(newWindow, width = 2, state = 'readonly').grid(row=2, column=4)
johnRebounds = Entry(newWindow, width = 2, state = 'readonly').grid(row=2, column=5)
johnSteals = Entry(newWindow, width = 2, state = 'readonly').grid(row=2, column=6)
johnBlocks = Entry(newWindow, width = 2, state = 'readonly').grid(row=2, column=7)
johnTO = Entry(newWindow, width = 2, state = 'readonly').grid(row=2, column=8)
simonTwoP = Entry(newWindow, width = 2, state = 'readonly').grid(row=3, column=2)
simonThreeP = Entry(newWindow, width = 2, state = 'readonly').grid(row=3, column=3)
simonAssists = Entry(newWindow, width = 2, state = 'readonly').grid(row=3, column=4)
simonRebounds = Entry(newWindow, width = 2, state = 'readonly').grid(row=3, column=5)
simonSteals = Entry(newWindow, width = 2, state = 'readonly').grid(row=3, column=6)
simonBlocks = Entry(newWindow, width = 2, state = 'readonly').grid(row=3, column=7)
simonTO = Entry(newWindow, width = 2, state = 'readonly').grid(row=3, column=8)
joelTwoP = Entry(newWindow, width = 2, state = 'readonly').grid(row=5, column=2)
joelThreeP = Entry(newWindow, width = 2, state = 'readonly').grid(row=5, column=3)
joelAssists = Entry(newWindow, width = 2, state = 'readonly').grid(row=5, column=4)
joelRebounds = Entry(newWindow, width = 2, state = 'readonly').grid(row=5, column=5)
joelSteals = Entry(newWindow, width = 2, state = 'readonly').grid(row=5, column=6)
joelBlocks = Entry(newWindow, width = 2, state = 'readonly').grid(row=5, column=7)
joelTO = Entry(newWindow, width = 2, state = 'readonly').grid(row=5, column=8)
kaurTwoP = Entry(newWindow, width = 2, state = 'readonly').grid(row=6, column=2)
kaurThreeP = Entry(newWindow, width = 2, state = 'readonly').grid(row=6, column=3)
kaurAssists = Entry(newWindow, width = 2, state = 'readonly').grid(row=6, column=4)
kaurRebounds = Entry(newWindow, width = 2, state = 'readonly').grid(row=6, column=5)
kaurSteals = Entry(newWindow, width = 2, state = 'readonly').grid(row=6, column=6)
kaurBlocks = Entry(newWindow, width = 2, state = 'readonly').grid(row=6, column=7)
kaurTO = Entry(newWindow, width = 2, state = 'readonly').grid(row=6, column=8)
genomTwoP = Entry(newWindow, width = 2, state = 'readonly').grid(row=7, column=2)
genomThreeP = Entry(newWindow, width = 2, state = 'readonly').grid(row=7, column=3)
genomAssists = Entry(newWindow, width = 2, state = 'readonly').grid(row=7, column=4)
genomRebounds = Entry(newWindow, width = 2, state = 'readonly').grid(row=7, column=5)
genomSteals = Entry(newWindow, width = 2, state = 'readonly').grid(row=7, column=6)
genomBlocks = Entry(newWindow, width = 2, state = 'readonly').grid(row=7, column=7)
genomTO = Entry(newWindow, width = 2, state = 'readonly').grid(row=7, column=8)
kieranTwoP = Entry(newWindow, width = 2, state = 'readonly').grid(row=8, column=2)
kieranThreeP = Entry(newWindow, width = 2, state = 'readonly').grid(row=8, column=3)
kieranAssists = Entry(newWindow, width = 2, state = 'readonly').grid(row=8, column=4)
kieranRebounds = Entry(newWindow, width = 2, state = 'readonly').grid(row=8, column=5)
kieranSteals = Entry(newWindow, width = 2, state = 'readonly').grid(row=8, column=6)
kieranBlocks = Entry(newWindow, width = 2, state = 'readonly').grid(row=8, column=7)
kieranTO = Entry(newWindow, width = 2, state = 'readonly').grid(row=8, column=8)
selectPlayer = StringVar()
selectPlayer.set("Player")
menu = OptionMenu(newWindow, selectPlayer,"john", "simon", "joel", "kaur", "genom", "kieran").grid(row=10, column=1)
newWindow.mainloop()
【问题讨论】:
-
可以将数字传递给按钮回调
-
首先,所有入口变量都是
None,因为它们是.grid(...)的结果。