Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from Tkinter import *
- import tkMessageBox
- import smtplib
- import time
- import Tkinter
- import imaplib
- import email
- class Scattergories(Tkinter.Frame):
- def __init__(self, master=None):
- Tkinter.Frame.__init__(self, master)
- root.title("Scattergories")
- root.geometry("600x650")
- self.mode = "stopped"
- self.entrysframe = Frame(master=None)
- self.entrysframe.pack()
- self.upperframe = Frame(self.entrysframe)
- self.upperframe.pack()
- self.newgame = Button(self.upperframe, text='New Game', command=self.newgame)
- self.newgame.pack(pady=10)
- self.identryframe=Frame(self.upperframe)
- self.identryframe.pack(pady=3)
- self.labeluniqueidis = Label(self.upperframe, text="ID:")
- self.labeluniqueidis.pack()
- self.create_entryboxes()
- self.lowerframe = Frame(self.entrysframe, relief=SUNKEN, borderwidth=1)
- self.lowerframe.pack(side=LEFT)
- self.scoreframe = Frame(self.entrysframe, relief=SUNKEN, borderwidth=1)
- self.scoreframe.pack(side=LEFT, padx=30, anchor=N)
- self.start_time = 0
- self.elapsed_time = 0
- self.create_buttons()
- self.update_timeText()
- self.uniqueID = StringVar()
- labeluniqueid = Label(self.identryframe, text="Unique ID:")
- labeluniqueid.pack(side=LEFT)
- self.identrybox = Entry(self.identryframe, textvariable=self.uniqueID)
- self.identrybox.pack(side=LEFT)
- self.confirmbutton = Button(self.identryframe, text='Confirm', command=self.confirm)
- self.confirmbutton.pack(side=LEFT)
- self.score = Label(self.scoreframe, text=("Score"), font=("Arial", 13))
- self.score.pack(pady=5)
- self.round=1
- def createtallylabel(self):
- self.yourtally =(self.var_answer1.get()+
- self.var_answer2.get()+
- self.var_answer3.get()+
- self.var_answer4.get()+
- self.var_answer5.get()+
- self.var_answer6.get()+
- self.var_answer7.get()+
- self.var_answer8.get()+
- self.var_answer9.get()+
- self.var_answer10.get()+
- self.var_answer11.get()+
- self.var_answer12.get())
- self.rndscore = Label(self.scoreframe, text=('Round ' + str(self.round) + ': ' + str(self.yourtally) + '-' + str(self.theirtally)))
- self.rndscore.pack()
- def confirm(self):
- self.uniqueID.get()
- self.labeluniqueidis.configure(text=("ID: " + self.uniqueID.get() + str(self.round)))
- def create_buttons(self):
- self.timeText = Label(self.lowerframe, text="02:05", font=("Arial", 20))
- self.timeText.pack()
- buttonsframe = Frame(self.lowerframe)
- buttonsframe.pack()
- self.start_pause_unpause_Button = Tkinter.Button(buttonsframe, text='Start', command=self.start_pause_unpause)
- self.start_pause_unpause_Button.pack(side=LEFT)
- reset_button = Tkinter.Button(buttonsframe, text='Next Round', command=self.nextround)
- reset_button.pack(side=LEFT)
- self.fetchanswers = Button(self.lowerframe, text='Fetch Answers', command=self.fetch)
- self.fetchanswers.pack(pady=3)
- sendandgrab = Frame(self.lowerframe)
- sendandgrab.pack(pady=5, padx=5)
- self.send = Button(sendandgrab, text='Send score', command=self.send_score)
- self.send.pack(side=LEFT)
- self.retrieve = Button(sendandgrab, text='Retrieve score', command=self.retrieve_score)
- self.retrieve.pack(side=LEFT)
- def fetch(self):
- mail = imaplib.IMAP4_SSL('imap.gmail.com')
- mail.login(self.emailstring.get(), self.passstring.get())
- mail.list()
- mail.select('inbox')
- result, data = mail.uid('search', None, "ALL")
- i = len(data[0].split())
- upper=len(self.uniqueID.get())
- for x in range(i-1,i-12,-1):
- latest_email_uid = data[0].split()[x]
- result, email_data = mail.uid('fetch', latest_email_uid, '(RFC822)')
- raw_email = email_data[0][1]
- try:
- raw_email_string = raw_email.decode('utf-8')
- email_message = email.message_from_string(raw_email_string)
- except Exception:
- continue
- for part in email_message.walk():
- if part.get_content_type() == "text/plain":
- body = part.get_payload(decode=True)
- if str(body)[0:upper+1]==self.uniqueID.get()+str(self.round):
- self.a = str(body)
- self.answerlist = []
- for i in self.a.rstrip().split('\n'):
- self.answerlist.append(i[:-1])
- self.create_answerlabels()
- return None
- else:
- continue
- def set_time(self, minutes, seconds):
- pattern = '{0:02d}:{1:02d}'
- timeString = pattern.format(minutes, seconds)
- if timeString == '00:00':
- self.submit()
- self.time_elapsed = 0
- self.mode = "stopped"
- self.timeText.configure(text=timeString)
- def update_timeText(self):
- if self.mode == "running":
- self.time_elapsed = time.time() - self.start_time + self.elapsed_time
- blabla = 125 - self.time_elapsed
- seconds = int(blabla % 60)
- minutes = int((blabla/60) % 60)
- self.set_time(minutes, seconds)
- elif self.mode == "running":
- self.elapsed_time = self.elapsed_time + time.time() - self.start_time
- self.mode = "stopped"
- self.start_pause_unpause_Button.config(text="Resume")
- self.after(1000, self.update_timeText)
- def nextround(self):
- self.mode = "stopped"
- self.elapsed_time = 0
- self.set_time(2,10)
- self.timeText.configure(text="02:05")
- self.start_pause_unpause_Button.config(text="Start")
- self.clear()
- self.disable_entry()
- self.cleartheiranswers()
- self.round+=1
- self.clear_checkboxes()
- self.clear_highlights()
- def newgame(self):
- self.mode = "stopped"
- self.elapsed_time = 0
- self.set_time(2,10)
- self.timeText.configure(text="02:05")
- self.start_pause_unpause_Button.config(text="Start")
- self.clear()
- self.disable_entry()
- self.round=1
- self.uniqueID.set('')
- self.labeluniqueidis.config(text='ID:')
- self.cleartheiranswers()
- self.clear_checkboxes()
- self.clear_highlights()
- self.rndscore.config(text="")
- def start_pause_unpause(self):
- if self.mode == "stopped":
- self.start_time = time.time()
- self.mode = "running"
- self.enable_entry()
- def clear(self):
- self.answer1.set('')
- self.answer2.set('')
- self.answer3.set('')
- self.answer4.set('')
- self.answer5.set('')
- self.answer6.set('')
- self.answer7.set('')
- self.answer8.set('')
- self.answer9.set('')
- self.answer10.set('')
- self.answer11.set('')
- self.answer12.set('')
- def create_entryboxes(self):
- #Entry box, variable is a string variable
- self.answer1 = StringVar()
- self.answer2 = StringVar()
- self.answer3 = StringVar()
- self.answer4 = StringVar()
- self.answer5 = StringVar()
- self.answer6 = StringVar()
- self.answer7 = StringVar()
- self.answer8 = StringVar()
- self.answer9 = StringVar()
- self.answer10 = StringVar()
- self.answer11 = StringVar()
- self.answer12 = StringVar()
- self.emailstring = StringVar()
- self.passstring = StringVar()
- self.opponentstring = StringVar()
- self.emailstring.set('')
- self.opponentstring.set('')
- self.passstring.set('')
- self.emailframe = Frame(self.upperframe)
- self.emailframe.pack()
- labele = Label(self.emailframe, text="Email:")
- labele.pack(side=LEFT)
- self.emailentry = Entry(self.emailframe, textvariable=self.emailstring)
- self.emailentry.pack(padx=5, side=LEFT)
- labelpass = Label(self.emailframe, text="Pass:")
- labelpass.pack(side=LEFT)
- self.passentry = Entry(self.emailframe, textvariable=self.passstring, show='*')
- self.passentry.pack(padx=5, side=LEFT)
- self.opponentframe = Frame(self.upperframe)
- self.opponentframe.pack(pady=10)
- labelo = Label(self.opponentframe, text="Opponent:")
- labelo.pack(side=LEFT)
- self.oentry = Entry(self.opponentframe, textvariable=self.opponentstring)
- self.oentry.pack(padx=5, side=LEFT)
- self.eframe1=Frame(self.entrysframe)
- self.eframe1.pack(anchor=W, padx=100)
- label1 = Label(self.eframe1, text="1:")
- label1.pack(side=LEFT)
- self.text1 = Entry(self.eframe1, textvariable=self.answer1)
- self.text1.pack(padx=5, side=LEFT)
- self.var_answer1 = IntVar()
- self.var_answer1.set(0)
- answer1checkbutton = Checkbutton(self.eframe1,
- variable = self.var_answer1)
- answer1checkbutton.pack(side=LEFT)
- self.text1.configure(state='disabled')
- self.eframe2=Frame(self.entrysframe)
- self.eframe2.pack(anchor=W, padx=100)
- label2 = Label(self.eframe2, text="2:")
- label2.pack(side=LEFT)
- self.text2 = Entry(self.eframe2, textvariable=self.answer2)
- self.text2.pack(padx=5, side=LEFT)
- self.var_answer2 = IntVar()
- self.var_answer2.set(0)
- answer2checkbutton = Checkbutton(self.eframe2,
- variable = self.var_answer2)
- answer2checkbutton.pack(side=LEFT)
- self.text2.configure(state='disabled')
- self.eframe3=Frame(self.entrysframe)
- self.eframe3.pack(anchor=W, padx=100)
- label3 = Label(self.eframe3, text="3:")
- label3.pack(side=LEFT)
- self.text3 = Entry(self.eframe3, textvariable=self.answer3)
- self.text3.pack(padx=5, side=LEFT)
- self.text3.configure(state='disabled')
- self.var_answer3 = IntVar()
- self.var_answer3.set(0)
- answer3checkbutton = Checkbutton(self.eframe3,
- variable = self.var_answer3)
- answer3checkbutton.pack(side=LEFT)
- self.eframe4=Frame(self.entrysframe)
- self.eframe4.pack(anchor=W, padx=100)
- label4 = Label(self.eframe4, text="4:")
- label4.pack(side=LEFT)
- self.text4 = Entry(self.eframe4, textvariable=self.answer4)
- self.text4.pack(padx=5, side=LEFT)
- self.text4.configure(state='disabled')
- self.var_answer4 = IntVar()
- self.var_answer4.set(0)
- answer4checkbutton = Checkbutton(self.eframe4,
- variable = self.var_answer4)
- answer4checkbutton.pack(side=LEFT)
- self.eframe5=Frame(self.entrysframe)
- self.eframe5.pack(anchor=W, padx=100)
- label5 = Label(self.eframe5, text="5:")
- label5.pack(side=LEFT)
- self.text5 = Entry(self.eframe5, textvariable=self.answer5)
- self.text5.pack(padx=5, side=LEFT)
- self.text5.configure(state='disabled')
- self.var_answer5 = IntVar()
- self.var_answer5.set(0)
- answer5checkbutton = Checkbutton(self.eframe5,
- variable = self.var_answer5)
- answer5checkbutton.pack(side=LEFT)
- self.eframe6=Frame(self.entrysframe)
- self.eframe6.pack(anchor=W, padx=100)
- label6 = Label(self.eframe6, text="6:")
- label6.pack(side=LEFT)
- self.text6 = Entry(self.eframe6, textvariable=self.answer6)
- self.text6.pack(padx=5, side=LEFT)
- self.text6.configure(state='disabled')
- self.var_answer6 = IntVar()
- self.var_answer6.set(0)
- answer6checkbutton = Checkbutton(self.eframe6,
- variable = self.var_answer6)
- answer6checkbutton.pack(side=LEFT)
- self.eframe7=Frame(self.entrysframe)
- self.eframe7.pack(anchor=W, padx=100)
- label7 = Label(self.eframe7, text="7:")
- label7.pack(side=LEFT)
- self.text7 = Entry(self.eframe7, textvariable=self.answer7)
- self.text7.pack(padx=5, side=LEFT)
- self.text7.configure(state='disabled')
- self.var_answer7 = IntVar()
- self.var_answer7.set(0)
- answer7checkbutton = Checkbutton(self.eframe7,
- variable = self.var_answer7)
- answer7checkbutton.pack(side=LEFT)
- self.eframe8=Frame(self.entrysframe)
- self.eframe8.pack(anchor=W, padx=100)
- label8 = Label(self.eframe8, text="8:")
- label8.pack(side=LEFT)
- self.text8 = Entry(self.eframe8, textvariable=self.answer8)
- self.text8.pack(padx=5, side=LEFT)
- self.text8.configure(state='disabled')
- self.var_answer8 = IntVar()
- self.var_answer8.set(0)
- answer8checkbutton = Checkbutton(self.eframe8,
- variable = self.var_answer8)
- answer8checkbutton.pack(side=LEFT)
- self.eframe9=Frame(self.entrysframe)
- self.eframe9.pack(anchor=W, padx=100)
- label9 = Label(self.eframe9, text="9:")
- label9.pack(side=LEFT)
- self.text9 = Entry(self.eframe9, textvariable=self.answer9)
- self.text9.pack(padx=5, side=LEFT)
- self.text9.configure(state='disabled')
- self.var_answer9 = IntVar()
- self.var_answer9.set(0)
- answer9checkbutton = Checkbutton(self.eframe9,
- variable = self.var_answer9)
- answer9checkbutton.pack(side=LEFT)
- self.eframe10=Frame(self.entrysframe)
- self.eframe10.pack(anchor=W, padx=94)
- label10 = Label(self.eframe10, text="10:")
- label10.pack(side=LEFT)
- self.text10 = Entry(self.eframe10, textvariable=self.answer10)
- self.text10.pack(padx=5, side=LEFT)
- self.text10.configure(state='disabled')
- self.var_answer10 = IntVar()
- self.var_answer10.set(0)
- answer10checkbutton = Checkbutton(self.eframe10,
- variable = self.var_answer10)
- answer10checkbutton.pack(side=LEFT)
- self.eframe11=Frame(self.entrysframe)
- self.eframe11.pack(anchor=W, padx=94)
- label11 = Label(self.eframe11, text="11:")
- label11.pack(side=LEFT)
- self.text11 = Entry(self.eframe11, textvariable=self.answer11)
- self.text11.pack(padx=5, side=LEFT)
- self.text11.configure(state='disabled')
- self.var_answer11 = IntVar()
- self.var_answer11.set(0)
- answer11checkbutton = Checkbutton(self.eframe11,
- variable = self.var_answer11)
- answer11checkbutton.pack(side=LEFT)
- self.eframe12=Frame(self.entrysframe)
- self.eframe12.pack(anchor=W, padx=94)
- label12 = Label(self.eframe12, text="12:")
- label12.pack(side=LEFT)
- self.text12 = Entry(self.eframe12, textvariable=self.answer12)
- self.text12.pack(padx=5, side=LEFT)
- self.text12.configure(state='disabled')
- self.var_answer12 = IntVar()
- self.var_answer12.set(0)
- answer12checkbutton = Checkbutton(self.eframe12,
- variable = self.var_answer12)
- answer12checkbutton.pack(side=LEFT)
- def clear_checkboxes(self):
- self.var_answer1.set(0)
- self.var_answer2.set(0)
- self.var_answer3.set(0)
- self.var_answer4.set(0)
- self.var_answer5.set(0)
- self.var_answer6.set(0)
- self.var_answer7.set(0)
- self.var_answer8.set(0)
- self.var_answer9.set(0)
- self.var_answer10.set(0)
- self.var_answer11.set(0)
- self.var_answer12.set(0)
- def create_answerlabels(self):
- self.answer1label = Label(self.eframe1)
- self.answer1label.pack(side=TOP)
- self.answer1label.config(text=("1: " + self.answerlist[1][2:]))
- self.answer2label = Label(self.eframe2)
- self.answer2label.pack(side=TOP)
- self.answer2label.config(text=("2: " + self.answerlist[2][2:]))
- self.answer3label = Label(self.eframe3)
- self.answer3label.pack(side=TOP)
- self.answer3label.config(text=("3: " + self.answerlist[3][2:]))
- self.answer4label = Label(self.eframe4)
- self.answer4label.pack(side=TOP)
- self.answer4label.config(text=("4: " + self.answerlist[4][2:]))
- self.answer5label = Label(self.eframe5)
- self.answer5label.pack(side=TOP)
- self.answer5label.config(text=("5: " + self.answerlist[5][2:]))
- self.answer6label = Label(self.eframe6)
- self.answer6label.pack(side=TOP)
- self.answer6label.config(text=("6: " + self.answerlist[6][2:]))
- self.answer7label = Label(self.eframe7)
- self.answer7label.pack(side=TOP)
- self.answer7label.config(text=("7: " + self.answerlist[7][2:]))
- self.answer8label = Label(self.eframe8)
- self.answer8label.pack(side=TOP)
- self.answer8label.config(text=("8: " + self.answerlist[8][2:]))
- self.answer9label = Label(self.eframe9)
- self.answer9label.pack(side=TOP)
- self.answer9label.config(text=("9: " + self.answerlist[9][2:]))
- self.answer10label = Label(self.eframe10)
- self.answer10label.pack(side=TOP)
- self.answer10label.config(text=("10: " + self.answerlist[10][2:]))
- self.answer11label = Label(self.eframe11)
- self.answer11label.pack(side=TOP)
- self.answer11label.config(text=("11: " + self.answerlist[11][2:]))
- self.answer12label = Label(self.eframe12)
- self.answer12label.pack(side=TOP)
- self.answer12label.config(text=("12: " + self.answerlist[12][2:]))
- def cleartheiranswers(self):
- try:
- self.answer1label.config(text=(""))
- self.answer2label.config(text=(""))
- self.answer3label.config(text=(""))
- self.answer4label.config(text=(""))
- self.answer5label.config(text=(""))
- self.answer6label.config(text=(""))
- self.answer7label.config(text=(""))
- self.answer8label.config(text=(""))
- self.answer9label.config(text=(""))
- self.answer10label.config(text=(""))
- self.answer11label.config(text=(""))
- self.answer12label.config(text=(""))
- except:
- pass
- def enable_entry(self):
- self.text1.configure(state='normal')
- self.text2.configure(state='normal')
- self.text3.configure(state='normal')
- self.text4.configure(state='normal')
- self.text5.configure(state='normal')
- self.text6.configure(state='normal')
- self.text7.configure(state='normal')
- self.text8.configure(state='normal')
- self.text9.configure(state='normal')
- self.text10.configure(state='normal')
- self.text11.configure(state='normal')
- self.text12.configure(state='normal')
- def disable_entry(self):
- self.text1.configure(state='disabled')
- self.text2.configure(state='disabled')
- self.text3.configure(state='disabled')
- self.text4.configure(state='disabled')
- self.text5.configure(state='disabled')
- self.text6.configure(state='disabled')
- self.text7.configure(state='disabled')
- self.text8.configure(state='disabled')
- self.text9.configure(state='disabled')
- self.text10.configure(state='disabled')
- self.text11.configure(state='disabled')
- self.text12.configure(state='disabled')
- def submit(self):
- fname = 'scattegoriesanswers.txt'
- with open(fname, 'w') as fout:
- fout.write(self.uniqueID.get()+str(self.round))
- fout.write("\n1:")
- fout.write(self.answer1.get())
- fout.write("\n2:")
- fout.write(self.answer2.get())
- fout.write("\n3:")
- fout.write(self.answer3.get())
- fout.write("\n4:")
- fout.write(self.answer4.get())
- fout.write("\n5:")
- fout.write(self.answer5.get())
- fout.write("\n6:")
- fout.write(self.answer6.get())
- fout.write("\n7:")
- fout.write(self.answer7.get())
- fout.write("\n8:")
- fout.write(self.answer8.get())
- fout.write("\n9:")
- fout.write(self.answer9.get())
- fout.write("\n10:")
- fout.write(self.answer10.get())
- fout.write("\n11:")
- fout.write(self.answer11.get())
- fout.write("\n12:")
- fout.write(self.answer12.get())
- self.send_email()
- def send_email(self):
- with open ("scattegoriesanswers.txt", "r") as myfile:
- data=myfile.read()
- gmail_user = self.emailstring.get()
- gmail_pwd = self.passstring.get()
- FROM = self.emailstring.get()
- TO = [self.opponentstring.get()] #must be a list
- SUBJECT = "Scattergories"
- TEXT = data
- # Prepare actual message
- message = """\From: %s\nTo: %s\nSubject: %s\n\n%s
- """ % (FROM, ", ".join(TO), SUBJECT, TEXT)
- try:
- #server = smtplib.SMTP(SERVER)
- server = smtplib.SMTP("smtp.gmail.com", 587) #or port 465 doesn't seem to work!
- server.ehlo()
- server.starttls()
- server.login(gmail_user, gmail_pwd)
- server.sendmail(FROM, TO, message)
- #server.quit()
- server.close()
- print 'successfully sent the mail'
- except:
- print "failed to send mail"
- def send_score(self):
- cseriesonoroff = (str(self.var_answer1.get())+
- str(self.var_answer2.get())+
- str(self.var_answer3.get())+
- str(self.var_answer4.get())+
- str(self.var_answer5.get())+
- str(self.var_answer6.get())+
- str(self.var_answer7.get())+
- str(self.var_answer8.get())+
- str(self.var_answer9.get())+
- str(self.var_answer10.get())+
- str(self.var_answer11.get())+
- str(self.var_answer12.get()))
- gmail_user = self.emailstring.get()
- gmail_pwd = self.passstring.get()
- FROM = self.emailstring.get()
- TO = [self.opponentstring.get()] #must be a list
- SUBJECT = "Scattergories"
- TEXT = 'score' + self.uniqueID.get() + str(self.round) + cseriesonoroff
- # Prepare actual message
- message = """\From: %s\nTo: %s\nSubject: %s\n\n%s
- """ % (FROM, ", ".join(TO), SUBJECT, TEXT)
- try:
- #server = smtplib.SMTP(SERVER)
- server = smtplib.SMTP("smtp.gmail.com", 587) #or port 465 doesn't seem to work!
- server.ehlo()
- server.starttls()
- server.login(gmail_user, gmail_pwd)
- server.sendmail(FROM, TO, message)
- #server.quit()
- server.close()
- print 'successfully sent the mail'
- except:
- print "failed to send mail"
- self.retrieve_score()
- def retrieve_score(self):
- mail = imaplib.IMAP4_SSL('imap.gmail.com')
- mail.login(self.emailstring.get(), self.passstring.get())
- mail.list()
- mail.select('inbox')
- result, data = mail.uid('search', None, "ALL")
- i = len(data[0].split())
- upper=len(self.uniqueID.get())+5
- for x in range(i-1,i-12,-1):
- latest_email_uid = data[0].split()[x]
- result, email_data = mail.uid('fetch', latest_email_uid, '(RFC822)')
- raw_email = email_data[0][1]
- try:
- raw_email_string = raw_email.decode('utf-8')
- email_message = email.message_from_string(raw_email_string)
- except Exception:
- continue
- for part in email_message.walk():
- if part.get_content_type() == "text/plain":
- body = part.get_payload(decode=True)
- if str(body)[0:upper+1]=="score"+self.uniqueID.get()+str(self.round):
- self.checkedanswers = str(body)[upper+1:]
- self.displaywhich()
- return None
- else:
- continue
- def displaywhich(self):
- print self.checkedanswers
- self.theirtally = sum(int(i) for i in (self.checkedanswers).strip())
- if self.checkedanswers[0] == '1':
- self.answer1label.config(bg='green')
- if self.checkedanswers[1] == '1':
- self.answer2label.config(bg='green')
- if self.checkedanswers[2] == '1':
- self.answer3label.config(bg='green')
- if self.checkedanswers[3] == '1':
- self.answer4label.config(bg='green')
- if self.checkedanswers[4] == '1':
- self.answer5label.config(bg='green')
- if self.checkedanswers[5] == '1':
- self.answer6label.config(bg='green')
- if self.checkedanswers[6] == '1':
- self.answer7label.config(bg='green')
- if self.checkedanswers[7] == '1':
- self.answer8label.config(bg='green')
- if self.checkedanswers[8] == '1':
- self.answer9label.config(bg='green')
- if self.checkedanswers[9] == '1':
- self.answer10label.config(bg='green')
- if self.checkedanswers[10] == '1':
- self.answer11label.config(bg='green')
- if self.checkedanswers[11] == '1':
- self.answer12label.config(bg='green')
- self.createtallylabel()
- def clear_highlights(self):
- try:
- self.answer1label.config(bg='#f0f0f0')
- self.answer2label.config(bg='#f0f0f0')
- self.answer3label.config(bg='#f0f0f0')
- self.answer4label.config(bg='#f0f0f0')
- self.answer5label.config(bg='#f0f0f0')
- self.answer6label.config(bg='#f0f0f0')
- self.answer7label.config(bg='#f0f0f0')
- self.answer8label.config(bg='#f0f0f0')
- self.answer9label.config(bg='#f0f0f0')
- self.answer10label.config(bg='#f0f0f0')
- self.answer11label.config(bg='#f0f0f0')
- self.answer12label.config(bg='#f0f0f0')
- except:
- pass
- root = Tkinter.Tk()
- app = Scattergories(master=root)
- app.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement