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()
Но если Вам нужно именно открытие файла, то вот статья