Проверка ввода в tkinterPython

Программы на Python
Ответить
Anonymous
 Проверка ввода в tkinter

Сообщение Anonymous »

Я очень новичок в Python (около 2 недель). Я пишу графический интерфейс, используя tkinter. Интерфейс имеет 3 фрейма. В одном кадре я ввожу данные и использую их для простых вычислений. Я хотел бы проверить правильность ввода. Однако компилятор требует, чтобы я назначил тип входных данных перед запуском кода. Я определил свои переменные как DoubleVar, так как хочу работать с плавающей запятой. Когда я пытаюсь проверить ввод, код работает, если я ввожу числа, но, очевидно, не работает, если я набираю строку. Попытка проверить тип входных данных изнутри функции не работает, поскольку функция видит данные как число с плавающей запятой. Есть идеи - должна быть простая задача. Функция вызывается с кнопки
from tkinter import font
from tkinter import messagebox
win=tk.Tk()
ucs_var=tk.DoubleVar() # define ucs input value as a float
block_var=tk.DoubleVar() # defines block size as a float`

# The following function deals with a button that gets data from Entry widget

def calculation(): # Handles calculation button click

if type(ucs_var.get())==float or type(ucs_var.get())==int:
ucs=ucs_var.get()
block_size=block_var.get()
velocity =float(ucs*0.027+2.63) #convert string to float
velocity_float= "{:.{}f}".format(velocity,2) #format velocity to 2 decimal places
result_label.config(text=velocity_float)
block_size=block_var.get()
energy=float(0.5*block_size*pow(velocity,2))
energy_float= "{:.{}f}".format(energy,1)
energy_label.config(text=energy_float)
else:
print("Data input error")
return


Подробнее здесь: https://stackoverflow.com/questions/792 ... in-tkinter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»