Не получается наложить виджеты(надписи, поля ввода) на изображение
Не получается наложить надписи на изображение, которое я установил на окно в виде фона. Если убрать фон то надписи и поля ввода появляются. И так же фон без надписей отображается.
Ошибка:_tkinter.TclError: cannot use geometry manager pack inside . which already has slaves managed by grid
from tkinter import messagebox
root=Tk() #создаем окно
root.title('Авторизация')# Заголовок окна
root.geometry('900x700')# Размеры окна
root.resizable(width=TRUE, height=TRUE)# Если надо будет ограничить растяжение.
root['bg']='gold'# цвет окна внутри
root.image=PhotoImage(file="Book.png.png")
bg_logo=Label(root, image=root.image)
bg_logo.grid(row=0, column=0)
def registration():
text=Label(text='Для входа в систему-зарегистритуйтесь!', font='Arial 30', bg='gold', fg='black')
text.pack()
text_firstname=Label(text='Введите ваше имя:', font='Arial 18', bg='gold', fg='black', padx=30)
text_firstname.pack()
register_lodin = Entry()
register_lodin.pack()
text_lastname=Label(text='Введите вашу фамилию:', font='Arial 18', bg='gold', fg='black', padx=30)
text_lastname.pack()
register_lodin = Entry()
register_lodin.pack()
text_patronymic = Label(text='Введите ваше отчество:', font='Arial 18', bg='gold', fg='black', padx=30)
text_patronymic.pack()
register_lodin = Entry()
register_lodin.pack()
text_log = Label(text='Введите логин ниже:', font='Arial 18', bg='gold', fg='black', padx=30)
text_log.pack()
register_log = Entry()
register_log.pack()
text_password = Label(text='Придумайте пароль:', font='Arial 18', bg='gold', fg='black', padx=30)
text_password.pack()
register_password = Entry()
register_password.pack()
text_repeatpassword = Label(text='Повторите пароль:', font='Arial 18', bg='gold', fg='black', padx=30)
text_repeatpassword.pack()
register_repeatpassword = Entry(show='*')
register_repeatpassword.pack()
registration()
root.mainloop()
Ответы (1 шт):
Автор решения: insolor
→ Ссылка
В tkinter в одном и том же контейнере (например, в окне, фрейме) нельзя использовать одновременно .grid() и .pack().
В данном случае для исправления ошибки можно просто размещать фон с помощью .place() по координатам 0, 0.