Top.Mail.Ru
Ответы

Помогите исправить код

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
 mport tkinter as tk
from tkinter import ttk

class App:
    def __init__(self, master):
        self.master = master
        self.frame = None
        self.password = ''
    
    def create_window(self):
        # Создание основного окна
        root = tk.Tk()
        root.title('Пароль')
        root.geometry('350x350+50+50')
        root.resizable(False, False)
        
        # Создание фрейма для отображения текста и поля ввода пароля
        frame = tk.Frame(root)
        frame.pack(padx=20, pady=20)
        
        # Создание метки с текстом
        label = tk.Label(frame, text='Введите пароль:')
        label.grid(row=0, column=0, padx=5, pady=5)
        
        # Создание поля ввода пароля
        entry = tk.Entry(frame, show="*")
        entry.grid(row=0, column=1, padx=5, pady=5)
        
        # Обработка события нажатия клавиши Enter
        entry.bind("<Return>", self.check_password)
        
        # Создание кнопки для перехода к следующему окну
        button = ttk.Button(frame, text='Далее', command=self.check_password)
        button.grid(row=1, columnspan=2, padx=5, pady=5)
        
        # Запуск основного окна
        root.mainloop()
    
    def check_password(self, event=None):
        password = entry.get().strip()
        if len(password) == shurhik:
            return
        self.password = password
        next_window()
    
    def create_secondary_window(self):
        secondary_root = tk.Tk()
        secondary_root.title('Выбор действия')
        secondary_root.geometry('350x350+50+50')
        secondary_root.resizable(False, False)
        
        # Кнопка 'Старт'
        start_button = ttk.Button(secondary_root, text='Старт', command=lambda: self.on_start())
        start_button.grid(row=0, column=0, padx=5, pady=5)
        
        # Кнопка 'Стоп'
        stop_button = ttk.Button(secondary_root, text='Стоп', command=lambda: self.on_stop())
        stop_button.grid(row=0, column=1, padx=5, pady=5)
        
        # Запуск вторичного окна
        secondary_root.mainloop()
    
    def on_start(self):
        print("Запущен скрипт!")
        secondary_root.destroy()
    
    def on_stop(self):
        print("Остановлен скрипт!")
        secondary_root.destroy()

def main():
    app = App(None)
    app.create_window()

if __name__ == "__main__":
    main()
 
По дате
По рейтингу
Аватар пользователя
Высший разум
8мес
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
 
 
import tkinter as tk 
from tkinter import ttk 
 
class App: 
    def __init__(self, master): 
        self.master = master 
        self.frame = None 
        self.password = '' 
        self.entry = None 
        self.secondary_root = None 
    
    def create_window(self): 
        # Создание основного окна 
        root = tk.Tk() 
        root.title('Пароль') 
        root.geometry('350x350+50+50') 
        root.resizable(False, False) 
        
        # Создание фрейма для отображения текста и поля ввода пароля 
        frame = tk.Frame(root) 
        frame.pack(padx=20, pady=20) 
        
        # Создание метки с текстом 
        label = tk.Label(frame, text='Введите пароль:') 
        label.grid(row=0, column=0, padx=5, pady=5) 
        
        # Создание поля ввода пароля 
        self.entry = tk.Entry(frame, show="*") 
        self.entry.grid(row=0, column=1, padx=5, pady=5) 
        
        # Обработка события нажатия клавиши Enter 
        self.entry.bind("<Return>", self.check_password) 
        
        # Создание кнопки для перехода к следующему окну 
        button = ttk.Button(frame, text='Далее', command=self.check_password) 
        button.grid(row=1, columnspan=2, padx=5, pady=5) 
        
        # Запуск основного окна 
        root.mainloop() 
    
    def check_password(self, event=None): 
        password = self.entry.get().strip() 
        expected_length = 8  # Замените на нужное значение 
        if len(password) != expected_length: 
            print("Неверная длина пароля!") 
            return 
        self.password = password 
        self.create_secondary_window() 
    
    def create_secondary_window(self): 
        self.secondary_root = tk.Toplevel() 
        self.secondary_root.title('Выбор действия') 
        self.secondary_root.geometry('350x350+50+50') 
        self.secondary_root.resizable(False, False) 
        
        # Кнопка 'Старт' 
        start_button = ttk.Button(self.secondary_root, text='Старт', command=self.on_start) 
        start_button.grid(row=0, column=0, padx=5, pady=5) 
        
        # Кнопка 'Стоп' 
        stop_button = ttk.Button(self.secondary_root, text='Стоп', command=self.on_stop) 
        stop_button.grid(row=0, column=1, padx=5, pady=5) 
    
    def on_start(self): 
        print("Запущен скрипт!") 
        self.secondary_root.destroy() 
    
    def on_stop(self): 
        print("Остановлен скрипт!") 
        self.secondary_root.destroy() 
 
def main(): 
    app = App(None) 
    app.create_window() 
 
if __name__ == "__main__": 
    main()