Для установки пароля на второе окно в Tkinter, вам нужно использовать виджет `Entry` для ввода пароля и, возможно, кнопку, чтобы проверить введенный пароль. В следующем примере я покажу, как это можно реализовать.
```python
import tkinter as tk
from tkinter import messagebox
def open_second_window():
# Создаем второе окно
second_window = tk.Toplevel(root)
second_window.title("Введите пароль")
# Метка для ввода пароля
label = tk.Label(second_window, text="Введите пароль:")
label.pack(pady=10)
# Поле для ввода пароля
password_entry = tk.Entry(second_window, show='*') # 'show' скрывает вводимые символы
password_entry.pack(pady=10)
# Функция для проверки пароля
def check_password():
if password_entry.get() == "ваш_пароль": # Замените "ваш_пароль" на нужный пароль
messagebox.showinfo("Успех", "Пароль верный!")
# Здесь можно открыть доступ к функционалу второго окна
second_window.destroy() # Закрываем окно после успешного ввода пароля
open_access_window()
else:
messagebox.showerror("Ошибка", "Неверный пароль!")
# Кнопка для проверки пароля
check_button = tk.Button(second_window, text="Проверить", command=check_password)
check_button.pack(pady=10)
def open_access_window():
access_window = tk.Toplevel(root)
access_window.title("Доступ к функционалу")
access_label = tk.Label(access_window, text="Добро пожаловать в защищенное окно!")
access_label.pack(pady=20)
# Основное окно
root = tk.Tk()
root.title("Главное окно")
open_button = tk.Button(root, text="Открыть второе окно", command=open_second_window)
open_button.pack(pady=20)
root.mainloop()
```
### Как это работает:
1. При нажатии кнопки "Открыть второе окно" создается новое окно, где пользователь может ввести пароль.
2. Поле для ввода пароля использует параметр `show='*'`, чтобы скрывать вводимые символы.
3. При нажатии кнопки "Проверить" запускается функция `check_password()`, которая проверяет, совпадает ли введенный пароль с заданным (в данном случае - "ваш_пароль").
4. Если пароль верный, выводится сообщение об успешном входе, и открывается новое окно с доступом к функционалу. Если нет - появляется сообщение об ошибке.
Вы можете заменить строку `"ваш_пароль"` на любой другой пароль для своей реализации.