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

Считывать данные с entry

07.04.2019, 11:39. Показов 28156. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Мне поставили такое задание - нужно сделать программу в tkinter чтобы пользователь ввел какое-то рандомное число.
Затем создаются поля Entry, их количество зависит от этого числа.
Потом числа, которые введет пользователь в эти самые энтри, нужно считать. Я для этих целей создал кнопку Button.
Полученные данные нужно загнать в список и вывести на экран.
Мы в универе сейчас учим циклы while for и функции, и ткинтер. То есть я новичок, поэтому решение заумным быть не должно по идее.
Подскажите, как можно реализовать это?
Я пробовал делать через while, так у меня в итоге выводится просто пустой список.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.04.2019, 11:39
Ответы с готовыми решениями:

Почему при попытке считать данные с 'Entry' и поместить их как аргумент функции, выдает ошибку?
from tkinter import * class Window: def __init__(self, width, height): self.window = Tk() ...

Вывести данные из БД в поля entry
Не получается вывести данные в поля entry. Подскажите в чём ошибка.. self.cursor.execute('SELECT * FROM Password') rows =...

Adding Entry Will Cause Text List To Exced 64k.entry Not Added
Вот такая ошибка выскакивает, понятно что идет переполнение rtitem Body, туда добавляеться куча DocLink через цикл Сам код привести не...

5
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
07.04.2019, 15:18
Лучший ответ Сообщение было отмечено ioaximpaiper как решение

Решение

ioaximpaiper, подойдет?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from tkinter import *
from tkinter import messagebox
 
 
def show_message():
    messagebox.showinfo("пример вводаывода", message.get())
 
 
root = Tk()
root.title("пример вводаывода")
root.geometry("300x250")
 
message = StringVar()
 
message_entry = Entry(textvariable=message)
message_entry.place(relx=.5, rely=.1, anchor="c")
 
message_button = Button(text="Click Me", command=show_message)
message_button.place(relx=.5, rely=.5, anchor="c")
 
root.mainloop()
Добавлено через 2 минуты
Как направление?

Добавлено через 5 минут
Ну, коль уж на то пошло, калькулятор на 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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# calculator using Tkinter 
 
# import everything from tkinter module 
from tkinter import *
 
# globally declare the expression variable 
expression = ""
 
 
# Function to update expressiom 
# in the text entry box 
def press(num):
    # point out the global expression variable 
    global expression
 
    # concatenation of string 
    expression = expression + str(num)
 
    # update the expression by using set method 
    equation.set(expression)
 
 
# Function to evaluate the final expression 
def equalpress():
    # Try and except statement is used 
    # for handling the errors like zero 
    # division error etc. 
 
    # Put that code inside the try block 
    # which may generate the error 
    try:
 
        global expression
 
        # eval function evaluate the expression 
        # and str function convert the result 
        # into string 
        total = str(eval(expression))
 
        equation.set(total)
 
        # initialze the expression variable 
        # by empty string 
        expression = ""
 
        # if error is generate then handle
    # by the except block 
    except:
 
        equation.set(" error ")
        expression = ""
 
    # Function to clear the contents
 
 
# of text entry box
def clear():
    global expression
    expression = ""
    equation.set("")
 
 
# Driver code 
if __name__ == "__main__":
    # create a GUI window 
    gui = Tk()
 
    # set the background colour of GUI window 
    gui.configure(background="light green")
 
    # set the title of GUI window 
    gui.title("Simple Calculator")
 
    # set the configuration of GUI window 
    gui.geometry("265x125")
 
    # StringVar() is the variable class 
    # we create an instance of this class 
    equation = StringVar()
 
    # create the text entry box for 
    # showing the expression . 
    expression_field = Entry(gui, textvariable=equation)
 
    # grid method is used for placing 
    # the widgets at respective positions 
    # in table like structure . 
    expression_field.grid(columnspan=4, ipadx=70)
 
    equation.set('enter your expression')
 
    # create a Buttons and place at a particular 
    # location inside the root window . 
    # when user press the button, the command or 
    # function affiliated to that button is executed . 
    button1 = Button(gui, text=' 1 ', fg='black', bg='red',
                     command=lambda: press(1), height=1, width=7)
    button1.grid(row=2, column=0)
 
    button2 = Button(gui, text=' 2 ', fg='black', bg='red',
                     command=lambda: press(2), height=1, width=7)
    button2.grid(row=2, column=1)
 
    button3 = Button(gui, text=' 3 ', fg='black', bg='red',
                     command=lambda: press(3), height=1, width=7)
    button3.grid(row=2, column=2)
 
    button4 = Button(gui, text=' 4 ', fg='black', bg='red',
                     command=lambda: press(4), height=1, width=7)
    button4.grid(row=3, column=0)
 
    button5 = Button(gui, text=' 5 ', fg='black', bg='red',
                     command=lambda: press(5), height=1, width=7)
    button5.grid(row=3, column=1)
 
    button6 = Button(gui, text=' 6 ', fg='black', bg='red',
                     command=lambda: press(6), height=1, width=7)
    button6.grid(row=3, column=2)
 
    button7 = Button(gui, text=' 7 ', fg='black', bg='red',
                     command=lambda: press(7), height=1, width=7)
    button7.grid(row=4, column=0)
 
    button8 = Button(gui, text=' 8 ', fg='black', bg='red',
                     command=lambda: press(8), height=1, width=7)
    button8.grid(row=4, column=1)
 
    button9 = Button(gui, text=' 9 ', fg='black', bg='red',
                     command=lambda: press(9), height=1, width=7)
    button9.grid(row=4, column=2)
 
    button0 = Button(gui, text=' 0 ', fg='black', bg='red',
                     command=lambda: press(0), height=1, width=7)
    button0.grid(row=5, column=0)
 
    plus = Button(gui, text=' + ', fg='black', bg='red',
                  command=lambda: press("+"), height=1, width=7)
    plus.grid(row=2, column=3)
 
    minus = Button(gui, text=' - ', fg='black', bg='red',
                   command=lambda: press("-"), height=1, width=7)
    minus.grid(row=3, column=3)
 
    multiply = Button(gui, text=' * ', fg='black', bg='red',
                      command=lambda: press("*"), height=1, width=7)
    multiply.grid(row=4, column=3)
 
    divide = Button(gui, text=' / ', fg='black', bg='red',
                    command=lambda: press("/"), height=1, width=7)
    divide.grid(row=5, column=3)
 
    equal = Button(gui, text=' = ', fg='black', bg='red',
                   command=equalpress, height=1, width=7)
    equal.grid(row=5, column=2)
 
    clear = Button(gui, text='Clear', fg='black', bg='red',
                   command=clear, height=1, width=7)
    clear.grid(row=5, column='1')
 
    # start the GUI 
    gui.mainloop()
1
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
07.04.2019, 15:22
Выглядит он так:
Изображения
 
1
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
07.04.2019, 15:29
я понимаю, что не совсем по заданию, но - время против меня. вынужден бежать, но ,, как направление - думаю,, подойдет)
1
0 / 0 / 0
Регистрация: 10.03.2019
Сообщений: 17
07.04.2019, 15:34  [ТС]
Да-да, вы мне подали отличную идею, спасибо )
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
07.04.2019, 15:37
ioaximpaiper, обращайтесь, если что)
найти меня просто,все контакты в подписи.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.04.2019, 15:37
Помогаю со студенческими работами здесь

Ошибка с циклом Map.Entry entry:hashMap.entrySet
Пытаюсь спарсить сайт со списком и подробнее о каждом элементе. Всё делал по уроку на youtube. При запуске приложение как-бы пытается...

Как Привязать данные, введённые в Entry Widget к списку?
В фрейме я создал виджет Entry, чтобы попросить пользователя ввести свое имя пользователя и выбрать команду, к которой он хочет...

Запрет на добавление данные в treeview если entry пустые
Здравствуйте, столкнулся с казалось бы с банальной проблемой. Есть таблица treeview и через форму добавления мы добавляем в нее новые...

Считывать данные из CMD
Как можно организовать вывод результата из командной строки к примеру в memo или label в реальном времени? Вот нашел процедуру, но когда...

Как преобразовать принятые данные через Entry из str в int ?
def gold(c): b = c/1.618 a = b/1.618 gold_counted = "a = " + a + " b = " + b return gold_counted label =...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru