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

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

07.04.2019, 11:39. Показов 28202. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru