Having some trouble with my GUI Number Game: I want the user to input a positive number. It has to be a positive, greater than zero Interger. Not a float. No commas, I can remove them (though I don’t know how.) if, elif, and Exception Handling concepts are still new to me. I want pop up boxes to appear when incorrect information has been entered.
from tkinter import *
from tkinter import ttk
class App(Tk):
def __init__(self):
Tk.__init__(self)
self.Number()
self.Output()
def Number(self):
Label (self, text = "Enter a positive whole number!").grid(row=1, column = 0)
self.Number = Entry(self)
self.Number.grid(row = 1, column = 1)
def Output(self):
self.btn = Button(self, text = "Check the number")
self.btn.grid(row = 8, column = 1)
self.btn["command"] = self.calculate
def calculate(self):
#Type cast the tkinter Entry to be an int
self.Number = int(self.Number.get())
#Print the class type of the variable self.Number:
print (type(self.Number))
#If the interger is equal to zero, display a custom popup box
if self.Number == 0:
self.newWindow = Toplevel(self)
Label(self.newWindow, text = "Please enter a number greater than zero!").grid()
self.newWindow.grid()
#Else if the number is less than zero, display a custom pop up box
elif self.Number <= 0:
self.newWindow = Toplevel(self)
Label(self.newWindow, text="Plase enter a positive whole number!")
self.newWindow.grid()
#Check to see if anything has been input at all
#Else if the length of the user's input is 0/null, display a custom pop up
elif len(self.Number) == 0:
self.newWindow = Toplevel(self)
Label(self.newWindow, text = "Please enter a number greater than zero!").grid()
self.newWindow.grid()
#Else if the number is not equal to an int, display a custom pop up
elif self.Number != int:
self.newWindow = Toplevel(self)
Label(self.newWindow, text = "Please enter a number greater than zero!").grid()
self.newWindow.grid()
Aucun commentaire:
Enregistrer un commentaire