Форум программистов, компьютерный форум, киберфорум
Python: Tkinter
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 02.04.2021
Сообщений: 1

Tkinter забывает введенные значения в entry после def

02.04.2021, 01:28. Показов 1661. Ответов 1

Студворк — интернет-сервис помощи студентам
Доброго времени суток, уважаемые программисты, на днях загорелся идеей, как написать программу на питоне с использованием графического интерфейса tkinter, которая будет получать значения от пользователя и вбивать их в одну из пяти выбранных физических формул и выдавать ответ, но столкнулся с такой проблемой что питон забывает введенные значения после дефа, в программировании чайник, искал решение проблемы в интернете, но не нашел, помогите пожалуйста решить проблему. Ниже прикрепляю свой недописанный код, минимизированный до ошибки код и ошибку.

Недописанный код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import math
import tkinter as tk
from tkinter.ttk import Combobox
def clicked():
    vibor.configure(text="Вы выбрали:Жесткость подвески")
    entry1=tk.Entry()
    entry2=tk.Entry()
    entry3=tk.Entry()
    entry4=tk.Entry()
    entry5=tk.Entry()
    entry6=tk.Entry()
    entry7=tk.Entry()
    entry8=tk.Entry()
    entry9=tk.Entry()
    entry10=tk.Entry()
    entry1.grid(column=1, row=2)
    lbl1=tk.Label(text="Mᵍ(Кг)=")
    lbl1.grid(column=0, row=2)
    entry2.grid(column=1, row=3)
    lbl2=tk.Label(text="f(Гц)=")
    lbl2.grid(column=0, row=3)
    btnf2=tk.Button(text="Посчитать!",command=scet)
    btnf2.grid(column=1, row=4)
def scet():
    mg==entry1.get()
    f=entry2.get()
    otvet1=mg*(4*(math.pi)**2)*(f**2)
    otvet2=1,12*otvet1
    lblotvet1=tk.Label(otvet1)
    lblotvet1dop=tk.Label(text="суммарная жесткость подвески (2 колеса):")
    lblotvet1dop.grid(column=3, row=o)
    lblotvet1.grid(column=4, row=0)
    lblotvet2=tk.Label(otvet2)
    lblotvet2dop=tk.Label(text="Жесткость подвески")
    lblotvet2dop.grid(column=3, row=1)
    lblotvet.grid(column=4, row=1)
window=tk.Tk()
window.title("Formulator")
window.geometry('600x400')
vibor=tk.Label(text="Выберите что хотите найти:")
vibor.grid(column=0, row=0)
btnf1=tk.Button(text="Жесткость подвески", command=clicked)
btnf1.grid(column=1, row=0)
window.mainloop()
Минимизированный код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
import tkinter as tk
def n():
    x=ent.get()
def g():
    ent=tk.Entry(master=w)
    ent.pack()
w=tk.Tk()
b1=tk.Button(text='Создать ent', master=w, command=g)
b1.pack()
b2=tk.Button(text='ent.get()', master=w, command=n)
b2.pack()
w.mainloop()
Ошибка:
Python
1
2
3
line 3, in n
    x=ent.get()
NameError: name 'ent' is not defined
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.04.2021, 01:28
Ответы с готовыми решениями:

Python PyGame def draw,def move,def off_screen,def collision
Python pygame За что отвечают эти команды def draw,def move,def off_screen,def collision?

Tkinter и функция def
Здравствуйте, начал осваивать tkinter и решил сделать простую программу для рисования по пикселям. Когда я сделал функции для смены цвета...

tkinter entry
Доброго времени суток Вот есть такое окно from tkinter import * def win(): root = Tk() # Создал окно ...

1
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
02.04.2021, 06:17
Лучший ответ Сообщение было отмечено Ykcyc как решение

Решение

Цитата Сообщение от Ykcyc Посмотреть сообщение
NameError: name 'ent' is not defined
и чего не ясно? ну не создана же переменная ент (как и ентри1 в полном коде), тут внутри функции о ней ничего не известно

Почему? потому что ты создаешь свои кнопки и прочее внутри функции, а значит после выхода из нее все уничтожается и переменные эти никому не видны.

Цитата Сообщение от Ykcyc Посмотреть сообщение
в программировании чайник
так может с этого начать? привет мир там например? подпись мою прочитать?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.04.2021, 06:17
Помогаю со студенческими работами здесь

Tkinter и Entry
Доброго времени суток! Для вуза надо написать лабораторную работу.Все довольно просто-приблизительное вычисление значения функции в точке...

Entry Tkinter
Привет всем, задача стоит в том чтоб посчитать определенный интеграл на Tkinter'e.Пользователь должен ввести пределы, саму функцию и...

Функция entry tkinter
Не могу понять как реализовать ввод радиуса Код выводит график кардиоиды при нажатии кнопки Draw Я не могу понять как мне реализовать...

Tkinter. Валидация Entry
Всем доброго времени суток! Подскажите, пожалуйста, как я могу валидировать вводимое в Entry? Нужно проверять, что вводятся только...

Tkinter. Записанный текст в Entry
Здравствуйте, мне надо сделать таблицу, я ее решил делаю с помощью Entry в цикле. Подскажите пожалуйста, как вывести текст в Entry? Это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru