Ich habe Probleme mit einer Zeile meines Codes, wo ich positive Zahlen tun kann, aber ich kann kein -
Zeichen vor den Zahlen hinzufügen, um es zu einer negativen Zahl zu machen. HierNegative float Problem - Python (Tkinter)
ist der Code:
as_meter = dict(mm=0.001, cm=0.01, inch=0.0254,ft=0.3048, yd=0.9144, m=1.0,km=1000.0, mi=1609.344,)
def update_length(self, *args):
try:
v = float(self.Text_Length_Left.get())
except ValueError:
self.Text_Length_Left.set('')
self.Text_Length_Right.set('')
return
Hier ist die linke Eingabefeld Code, in dem Sie den Schwimmer ein:
self.Text_Length_Left = StringVar()
self.Entry_Length_Left = ttk.Entry(self.length_frame, textvariable = self.Text_Length_Left,width = 13)
self.Text_Length_Left.trace('w', self.update_length)
self.Entry_Length_Left.grid(row = 3, column = 0, padx = 5, pady = 5)
Vielen Dank für jede Hilfe!
bearbeiten
-Code, um sie auszuführen:
class Conversion:
as_meter = dict(mm=0.001, cm=0.01, inch=0.0254,ft=0.3048, yd=0.9144, m=1.0,km=1000.0, mi=1609.344,)
def update_length(self, *args):
try:
v = float(self.Text_Length_Left.get())
except ValueError:
self.Text_Length_Left.set('')
self.Text_Length_Right.set('')
return
m = v * self.as_meter [self.measurements.get()]
r = m/self.as_meter[self.measurements1.get()]
self.Text_Length_Right.set("{:.5g}".format(r))
class GUI(Conversion):
def __init__(self,root):
self.notebook = ttk.Notebook(root)
self.notebook.pack()
self.length_frame = ttk.Frame(self.notebook)
self.weight_frame = ttk.Frame(self.notebook)
self.temperature_frame = ttk.Frame(self.notebook)
self.help_frame = ttk.Frame(self.notebook)
self.notebook.add(self.length_frame, text = 'Length')
#Combobox
self.measurements = StringVar()
self.Combobox_Length_Left = ttk.Combobox(self.length_frame, textvariable = self.measurements, values = ('mm', 'cm', 'inch', 'ft', 'yd', 'm', 'km', 'mi'), width = 10,state=['readonly'])
self.Combobox_Length_Left.current(5)
self.measurements.trace('w', self.update_length)
self.Combobox_Length_Left.grid(row = 2, column = 0, padx = 5, pady = 5, sticky = E)
self.measurements1 = StringVar()
self.Combobox_Length_Right = ttk.Combobox(self.length_frame, textvariable = self.measurements1, value = ('mm', 'cm', 'inch', 'ft', 'yd', 'm', 'km', 'mi'), width = 10,state = ['readonly'])
self.Combobox_Length_Right.current(5)
self.measurements1.trace('w', self.update_length)
self.Combobox_Length_Right.grid(row = 2, column = 2, padx = 5, pady = 5, sticky = E)
#Labels
self.Conversion = ttk.Label(self.length_frame, text = 'Convertion:').grid(row = 1, column = 0, padx = 5, pady = 5, sticky = W)
self.Label_Blank = ttk.Label(self.length_frame, text = '').grid(row = 1, column = 1, padx = 5, pady = 5, sticky = E)
self.Label_To2 = ttk.Label(self.length_frame, text = 'to').grid(row = 2, column = 1, padx = 5, pady = 5, sticky = E)
self.Label_To = ttk.Label(self.length_frame, text = 'to').grid(row = 3, column = 1, padx = 5, pady = 5, sticky = E)
#Entry Boxes
self.Text_Length_Left = StringVar()
self.Entry_Length_Left = ttk.Entry(self.length_frame, textvariable = self.Text_Length_Left,width = 13)
self.Text_Length_Left.trace('w', self.update_length)
self.Entry_Length_Left.grid(row = 3, column = 0, padx = 5, pady = 5)
self.Text_Length_Right = StringVar()
self.Entry_Length_Right = ttk.Entry(self.length_frame, textvariable = self.Text_Length_Right,width = 13, state='readonly')
self.Entry_Length_Right.grid(row = 3, column = 2, padx = 5, pady = 5)
enter code here
können Sie näher ausführen "Ich kann kein - Zeichen vor den Zahlen hinzufügen" gibt es einen Fehler? Was passiert, wenn du es tust? oder das Eingabefeld lässt das Zeichen "-" nicht zu, wenn Sie versuchen, es einzugeben? Ihnen ist klar, dass wir den von Ihnen bereitgestellten Code nicht ausführen können? Bitte geben Sie ein überprüfbares Beispiel an. – glls