Я очень новичок в 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
Проверка ввода в tkinter ⇐ Python
Программы на Python
1733155554
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
Подробнее здесь: [url]https://stackoverflow.com/questions/79233022/validating-input-in-tkinter[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия