Найти - Пользователи
Полная версия: Python tkinter (Вывод значения в label )
Начало » GUI » Python tkinter (Вывод значения в label )
1
Romeruk
Интенесует вопрос как сделать так чтобы нельзя было закрыть 1 окно пока открыто 2
Сам код :
4kpt_III
Тут есть несколько вариантов.
1. Можно явно передать label для вставки в них значений.
2. Внутри window можно получить root и найти на нем нужные Вам label.
3. Переписать все в ООП (пока рановато, но вариант должен был назвать).
4. Сделать root глобальной переменной (настоятельно не рекомендую).
Выбирайте любой понравившийся…

P.S. По коду достаточно много ошибок. Перечислю основные из них:
1. Никогда не делайте from tkinter import*
2. Создавать отдельную функцию только для закрытия окна не есть хорошо.
3. Названия виджетов старайтесь сделать информативнее.
4. Нельзя одновременно использовать разные менеджеры геометрии объектов (разделять их можно применяя frame).
5. Ну и про if __name__ == “__main__” все же нужно прочитать.
6. PEP8 куда уж без него

P.S.S. Вопросы по Tkinter желательно задавать в разделе GUI.
Romeruk
4kpt_III
Тут есть несколько вариантов.1. Можно явно передать label для вставки в них значений.2. Внутри window можно получить root и найти на нем нужные Вам label.3. Переписать все в ООП (пока рановато, но вариант должен был назвать).4. Сделать root глобальной переменной (настоятельно не рекомендую).Выбирайте любой понравившийся…P.S. По коду достаточно много ошибок. Перечислю основные из них:1. Никогда не делайте from tkinter import*2. Создавать отдельную функцию для закрытия окна не есть хорошо.3. Названия виджетов старайтесь сделать информативнее.4. Нельзя одновременно использовать разные менеджеры геометрии объектов (разделять их можно применяя frame).5. Ну и про if __name__ == “__main__” все же нужно прочитать.P.S.S. Вопросы по Tkinter желательно задавать в разделе GUI.
Спасибо
Да только что дошло и самому как вывести значения а и б в метку окна root
Теперь интересует как сделать так чтобы нельзя было закрыть 1 окно пока открыто 2
4kpt_III
Тут тоже есть несколько вариантов.
1. Самый простой. Смотрите в сторону .protocol(“WM_DELETE_WINDOW”, callback_function)
2. Метод trancient(parent).

Опять же. Выбирайте любой
Romeruk
4kpt_III
Тут тоже есть несколько вариантов.1. Самый простой. Смотрите в сторону .protocol(“WM_DELETE_WINDOW”, callback_function)2. Метод trancient(parent).Опять же. Выбирайте любой
Хорошо спасибо
Romeruk


теперь когда ввести допустим 1111 , а потом 1 не получается вот такое

4kpt_III
Т.е. вы внутри вызова toplevel задаете два label для корневого окна?
Romeruk
4kpt_III
Т.е. вы внутри вызова toplevel задаете два label для корневого окна?
Получается что да

4kpt_III
Это неправильно. И кони и люди. Все смешано. Лучше явно передать через lambda, т.е.

button.bind('<Button-1>', lambda event: window(event, label1, label2))

И соответственно в обработчике принять:

def window(event, label1, label2):
    # create toplevel and all widgets
    label1["text"] = float(input.get())
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB