У меня есть код, который должен складывать кнопки, который выглядит так:
b1 = Button(wn, text='1', command=do_smth)
b1.grid(row=0, column=0)
b2 = Button(wn, text='2', command=do_smth)
b2.grid(row=0, column=1)
b3 = Button(wn, text='3', command=do_smth)
b3.grid(row=0, column=2)
b4 = Button(wn, text='4', command=do_smth)
b4.grid(row=1, column=0)
b5 = Button(wn, text='5', command=do_smth)
b5.grid(row=1, column=1)
b6 = Button(wn, text='6', command=do_smth)
b6.grid(row=1, column=2)
b7 = Button(wn, text='7', command=do_smth)
b7.grid(row=2, column=0)
b8 = Button(wn, text='8', command=do_smth)
b8.grid(row=2, column=1)
b9 = Button(wn, text='9', command=do_smth)
b9.grid(row=2, column=2)
b0 = Button(wn, text='0', command=do_smth)
b0.grid(row=3, column=1)
Я ожидаю, что кнопки будут просто нормально расположены, но вместо этого я получил это:
Traceback (most recent call last):
File "D:\NUSROH AHEL\progs\calculator\main.py", line 20, in <module>
btn1.grid(row=0, column=0)
File "C:\Users\AlexKh\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 2485, in grid_configure
self.tk.call(
_tkinter.TclError: cannot use geometry manager grid inside . which already has slaves managed by pack
Может кто-нибудь помочь?
(Сделано в Pycharm Community Edition 2022.2.2)
Это сработало для меня. У вас есть другие пакеты () или места ()?
спс, я уже исправил
У меня был пакет на этикетке, но теперь я использую сетку
Вы используете pack
в другой части текста, просто замените его на grid
Следуйте правильному пути решения вашей проблемы:
from tkinter import *
def do_smth():
print("Botão pressionado!")
wn = Tk()
b1 = Button(wn, text='1', command=do_smth)
b1.grid(row=0, column=0)
b2 = Button(wn, text='2', command=do_smth)
b2.grid(row=0, column=1)
b3 = Button(wn, text='3', command=do_smth)
b3.grid(row=0, column=2)
b4 = Button(wn, text='4', command=do_smth)
b4.grid(row=1, column=0)
b5 = Button(wn, text='5', command=do_smth)
b5.grid(row=1, column=1)
b6 = Button(wn, text='6', command=do_smth)
b6.grid(row=1, column=2)
b7 = Button(wn, text='7', command=do_smth)
b7.grid(row=2, column=0)
b8 = Button(wn, text='8', command=do_smth)
b8.grid(row=2, column=1)
b9 = Button(wn, text='9', command=do_smth)
b9.grid(row=2, column=2)
b0 = Button(wn, text='0', command=do_smth)
b0.grid(row=3, column=1)
wn.mainloop()
Ваш ответ может быть улучшен с помощью дополнительной вспомогательной информации. Пожалуйста, отредактируйте , чтобы добавить дополнительные сведения, такие как цитаты или документация, чтобы другие могли подтвердить правильность вашего ответа. Вы можете найти больше информации о том, как писать хорошие ответы в справочном центре.
Ваша ошибка не соответствует коду, и код не работает. Пожалуйста, опубликуйте минимальный воспроизводимый пример