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

Функция ничего не возвращает

18.11.2020, 22:45. Показов 1265. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет, помогите разобраться с кодом.
Хочу написать авторегер. При заходе на сайт, должен требовать от пользователя номер и смс.

На просторах интернета нашел такой код, который должен возвращать то, что вписал пользователь в поле "entry"

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def tkinter_input(prompt=""):
    root = Tk()
    Label(root, text=prompt).pack()
    root.attributes("-topmost", True)
    entry = Entry(root)
    entry.pack()
    result = None
 
    def callback(event):
        nonlocal result
        result = entry.get()
        root.destroy()
        return result
 
    entry.bind("<Return>", callback)
    root.mainloop()
    return result
Но он ничего не возвращает...
Путем тыка, я понял, что он не возвращает только в моем случае((( А у меня так:
Я создал интерфейс, нажал кнопку "начать", он открывает сайт( Интерфейс все еще активный) и обращается к функции tkinter_input. НО, а если обратиться из другого файла, без создания еще одного интерфейса, то все работает.
Подскажите, как мне быть?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.11.2020, 22:45
Ответы с готовыми решениями:

Функция не возвращает ничего
Накидал код по ходьбе из консоли по папкам import os, sys from pathlib import Path class clear: def __call__(self): ...

Почему функция ничего не возвращает?
В общем пишу временный кастыль, который поможет преобразовать название страницы в нужный мне вид для определенных страниц. Функция -...

Почему функция ничего не возвращает?
var = list(map(int, input().split())) def func(var): if 4 &lt;= var and var &gt;= 20 - var: for x in range(1, 30): ...

3
 Аватар для kapbepucm
1568 / 741 / 321
Регистрация: 02.05.2020
Сообщений: 1,660
19.11.2020, 15:30
Цитата Сообщение от naripi6291 Посмотреть сообщение
Я создал интерфейс, нажал кнопку "начать", он открывает сайт( Интерфейс все еще активный) и обращается к функции tkinter_input.
у вас уже есть корневое окно и вы его ещё раз создаёте root = Tk()
0
1 / 1 / 0
Регистрация: 27.03.2020
Сообщений: 18
19.11.2020, 19:22  [ТС]
Я убрал из кода все, оставил кнопку. При нажатии я хочу распечатать то, что ввел пользователь, но функция все равно ничего не возвращает(((. Если убрать "self.root = Toplevel()", то она работает как надо, только открывается не новое окно, а лабел появляется в старом. Мне же нужно, чтоб открылось новое окно, пользователь туда ввел данные, окно закрылось и данные которые ввел пользователь сохранились в переменной
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
from tkinter import *
from tkinter import messagebox
 
 
class MainApp():
    def __init__(self):
        self.root = Tk()
 
    def run(self):
        self.widgets()
        self.root.mainloop()
 
    def widgets(self):
        self.but_send = Button(self.root, text='НАЧАТЬ', command=self.sender)
        self.but_send.grid()
 
    def sender(self):
        print(self.tkinter_input('rfrrf'))
 
    def error_sender(self, text):
        messagebox.showerror('Ошибка', f'{text}')
 
    def tkinter_input(self, prompt=""):
        self.root = Toplevel()
        Label(self.root, text=prompt).grid()
        self.root.attributes("-topmost", True)
        entry = Entry(self.root)
        entry.grid()
        result = None
 
        def callback(event):
            nonlocal result
            result = entry.get()
            self.root.destroy()
            return result
 
        entry.bind("<Return>", callback)
        self.root.mainloop()
        return result
 
 
if __name__ == '__main__':
    window = MainApp()
    window.run()
0
 Аватар для kapbepucm
1568 / 741 / 321
Регистрация: 02.05.2020
Сообщений: 1,660
20.11.2020, 10:28
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
from tkinter import *
from tkinter import messagebox
 
class MainApp():
    def __init__(self):
        self.root = Tk()
 
    def run(self):
        self.widgets()
        self.root.mainloop()
 
    def widgets(self):
        self.but_send = Button(self.root, text='НАЧАТЬ', command=self.sender)
        self.but_send.grid()
 
    def sender(self):
        print(self.tkinter_input('rfrrf'))
 
    def error_sender(self, text):
        messagebox.showerror('Ошибка', f'{text}')
 
    def tkinter_input(self, prompt=""):
        dialog = Toplevel()
        Label(dialog, text=prompt).grid()
        dialog.attributes("-topmost", True)
        entry = Entry(dialog)
        entry.grid()
        result = None
 
        def callback(event):
            nonlocal result
            result = entry.get()
            dialog.destroy()
 
        entry.bind("<Return>", callback)
        self.root.wait_window(dialog)
        return result
 
if __name__ == '__main__':
    window = MainApp()
    window.run()
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.11.2020, 10:28
Помогаю со студенческими работами здесь

Процедуры и функции: Почему функция ничего не возвращает?
Есть функция, высчитавающая факториал из числа. Число вводится с клавиатуры, затем результат выводится на экран. Вопрос собственно в том,...

Как выглядит функция, которая ничего не принимает и возвращает тип int?
У меня возник следующий вопрос при изучении функции: как выглядит функция, которая ничего не принимает и возвращает тип int?

Передача динамического массива из функции в функции / Функция ничего не возвращает
Здравствуйте! Хочу узнать, правильно ли я передал динамический массив в другую функцию, и почему функция ArithmeticMean ничего не...

Как вернуть в запросе значение по умолчанию, если SELECT возвращает NULL или ничего не возвращает?
Добрый день! Например я хочу чтобы донное выражение возвращало мне 0 или скажем 1, если результатом выражения rating вернется NULL: ...

Как называется функция которая ничего не принимает и ничего не отдаёт?
Как называется функция которая не чего не принимает и не чего не отдаёт? Пожалуйста приведите пример то есть как она выглядит или может...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru