J'ai ce problème avec Python Tkinter. J'essaye de faire un écran de forme d'interface d'utilisateur qui exige que l'utilisateur écrive des valeurs dans la boîte d'entrée montrée sur l'écran. Je l'ai mis ainsi les deux Entry Box sont dans la même classe (cette classe étant l'écran d'interface). Le problème est que pendant que je tape dans l'une des boîtes, le texte que je tape non seulement s'affiche dans la boîte dans laquelle je tape, mais aussi dans l'autre boîte.Lors de l'utilisation de python Tkinter, comment puis-je arrêter deux zones de saisie dans la même classe affichant le même texte d'entrée?
Voici le code en question.
class GenericSkeleton: # The template for all the screens in the program
def __init__(self):
self.GenericGui = Tk()
self.GenericGui.title('Radial Arc Calculator')
self.GenericGui.geometry('360x540')
self.GenericGui.resizable(width = FALSE, height = FALSE)
Label(self.GenericGui,text = 'Radial Arc Calculator',font = ('Ariel',18)).place(x=65,y=35)
def destroy(self):
self.GenericGui.destroy()
class InputScreen(GenericSkeleton):
def __init__(self):
GenericSkeleton.__init__(self)
Button(self.GenericGui,text = 'CALCULATE',height = 1, width = 25, command = calculate, font = ('TkDefaultFont',14)).place(x=37,y=400)
Button(self.GenericGui,text = 'CLOSE',height = 1, width = 11, command = close, font = ('TkDefaultFont',14)).place(x=37, y=450)
Button(self.GenericGui,text = 'HELP', height = 1, width = 11, command = DisplayHelp, font = ('TkDefaultFont',14)).place(x=190, y=450)
Label(self.GenericGui,text = 'Enter Radius (mm):', font = ('TkDefaultFont',14)).place(x=37, y=180)
Label(self.GenericGui,text = 'Enter point distance (mm):', font = ('TkDefaultFont',14)).place(x=37, y=250)
Entry(self.GenericGui,textvariable = Radius, width = 10, font = ('TkDefaultFont',14)).place(x=210, y=180)
Entry(self.GenericGui,textvariable = Distance, width = 5, font = ('TkDefaultFont',14)).place(x=265, y=250)
run = InputScreen()
Le sont chez boîte d'entrée bas du code, je l'espère son assez/pas trop pour résoudre le problème.
Où sont définis 'Radius' et' Distance'? Avez-vous quelque chose comme 'Radius = Distance = StringVar()' dans votre code? – Jkdc
@Jkdc J'ai 'Radius = int (0)' et 'Distance = int (0)' en haut de mon code comme initialisation. Les données sont de type entier, puis-je utiliser 'Radius = Distance = IntVar()'? Et où dois-je le placer, à l'intérieur ou à l'extérieur de la classe? – Josh23761