customtkinter создание нового окна после нажатия кнопки

мне надо чтобы после нажатия кнопки зарегистрироваться открывалось новый файл питона . Как это можно сделать

import tkinter as tk
import customtkinter
import subprocess
from PIL import ImageTk, Image
import sys
sys.path.append('D:/pythonProject2')

customtkinter.set_appearance_mode("dark")
customtkinter.set_default_color_theme("blue")

def open_second_py():
    try:
        
        subprocess.Popen(["python", "second.py"])
    except Exception as e:
        print("Ошибка:", e)

window = customtkinter.CTk()
window.geometry("600x400")
window.title("Login")

img1 = ImageTk.PhotoImage(Image.open("2.png"))
l1 = customtkinter.CTkLabel(master=window, image=img1)
l1.pack()

frame = customtkinter.CTkFrame(master=l1, width=320, height=360, corner_radius=15)
frame.place(relx=0.5, rely=0.5, anchor=tk.CENTER)

l2 = customtkinter.CTkLabel(master=frame, text="Войдите в свой аккаунт", font=('Century Gothic', 20))
l2.place(x=10, y=45)

entry1 = customtkinter.CTkEntry(master=frame, width=220, placeholder_text="Никнейм")
entry1.place(x=50, y=110)

entry2 = customtkinter.CTkEntry(master=frame, width=220, placeholder_text="Пароль")
entry2.place(x=50, y=165)

l3 = customtkinter.CTkLabel(master=frame, text="Забыли Пароль", font=('Century Gothic', 12))
l3.place(x=156, y=195)

button1 = customtkinter.CTkButton(master=frame, width=220, text='Зарегистрироваться', corner_radius=6, command=open_second_py)
button1.place(x=50, y=240)

window.mainloop()

Ответы (1 шт):

Автор решения: Donovan

Если Вам нужно создать новое окно, то зачем открывать новый файл питона, это можно сделать с помощью метода Toplevel:


ctk.set_appearance_mode("dark")
ctk.set_default_color_theme("blue")

window = ctk.CTk()
window.geometry("600x400")
window.title("Login")

def def1():
    new_window = ctk.CTkToplevel(window)

    l1 = ctk.CTkLabel(new_window, text = "123")
    l1.pack()

b1 = ctk.CTkButton(window, text = "new window", command=def1)
b1.pack()

window.mainloop()

Но если Вам нужно именно открытие файла, то вот статья

→ Ссылка