T
T
tyilamg2020-06-22 10:37:56
Python
tyilamg, 2020-06-22 10:37:56

Adding a Tkinter button that, when clicked, opens another Python file?

Hello everyone, there is a simple registration form, I need that after successful authorization, when I click on the button, another python file will open, how to implement this?
A piece of code, with the desired button.

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()

Answer the question

In order to leave comments, you need to log in

1 answer(s)
S
Sergey Pankov, 2020-06-22
@tyilamg

Typical python project structure:|

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              # ридми. Те, кто не делают ридми, рискуют немножко гореть в аду.

You can import from one module to others by absolute and relative imports.
I recommend, as long as you have little experience, use relative and don't overcomplicate it.
For example, to call a function in my_script1 from other modules and packages, write like this:
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

Imported names are called and used as usual, as if they were locally defined.
I just now thought that it would be nice to arrange this as a separate repository and hold a meetup among the juniors of our company. I'm sure many people have a vague idea of ​​the whole concept.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question