@tyilamg

Добавление кнопкни Tkinter, при нажатии на которую, открывается другой Python файл?

Всем привет, есть простая форма регистрация, мне нужно, что бы после успешной авторизации, при нажатии на кнопку, открывался другой python файл, как это реализовать?
Отрезок кода, с нужной кнопкой.
def login_sucess():
    global login_success_screen
    login_success_screen = Toplevel(login_screen)
    login_success_screen.title("Success")
    login_success_screen.geometry("120x60")
    Label(login_success_screen, text="Успешно").pack()
    Button(login_success_screen, text="OK", command=delete_password_not_recognised).pack()
  • Вопрос задан
  • 1039 просмотров
Решения вопроса 1
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Типовая структура проекта на питоне:|
my_project_name\            # корневой каталог проекта
    .git                    # каталог с данными контроля версий
    my_project_name\        # каталог главного пакета вашего проекта
        __init__.py         # файл, который делает из этого каталога пакет. Файл можно оставить пустым
        my_script1.py       # Скрипт, который вы возможно захотите хапустить внутри вашего проекта
        my_script2.py       # Ещё один скрипт
        my_module1.py       # модуль, который вы хотите импортировать внутри проекта
        my_module2.py       # ещё модуль
        my_sub_package\     # если модуль уже хочется разбить на несколько файлов, то можно сделать пакет
            __init__.py     # этот файл делает из каталога с исходниками пакет, который позволит ммпортировать его как модуль
            my_module3.py   # это модуль внутри пакета
            my_module4.py   # ещё один

    my_lib1\                # это пакет, который не зависит от вашего проекта, но используется в нём и вы почему-то
                            # хотите хранить их в одном репозитории. Странное решение, но так тоже можно.
        __init__.py         # да, этот каталог стал пакетом благодаря этому файлу
        my_lib_module.py    # тут может быть ещё много модулей

    setup.py                # этот файл нужен, чтобы все эти пакеты (их сейчас тут два) можно было ставить через
                            # пакетный менеджер питона, например pip
    readme.txt              # ридми. Те, кто не делают ридми, рискуют немножко гореть в аду.

Вы можете импортировать из одного модуля другие абсолютным иотносительным импортом.
Я рекомендую, пока у вас мало лпыта, пользоватьс яотносительным и не переусложнять с этим.
Например, чтобы в my_script1 вызвать функцию из другизх модулей и пакетов, пишите так:
from my_project_name.my_module1 import my_function1
from my_project_name.my_sub_package.my_module3 import my_function3

from my_lib1 import my_lib_module
from my_lib1.my_lib_module import my_lib_function1

Вызываются и используются импортированные имена как обычно, будто они локально определены.

Я вот сейчас подумал, что хорошо бы оформить это в виде отдельного репозитория и провести митап среди джунов нашей компании. Уверен, что многие смутно представляют себе всю эту концепцию.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы