Что вызвало вашу проблему?
lframe
стоит None
и не относится к экземпляру фрейма, который вы создали в любом случае.Почему так?
Потому что pack()
, gird()
и place()
менеджеры по расположению - это функции, которые ничего не возвращают.Поэтому, когда вы пишете:
lframe=Frame(r,width=1000,height=650,relief='raise',bd=8).pack(side=LEFT)
Вы явно получаете None от pack(side=LEFT)
Как решить вашу проблему?
Просто следуйте этомуПринцип всякий раз, когда вы создаете виджет: создавайте, затем позиционируйте (В вашем случае вы создаете и размещаете виджет одновременно).Я лично называю этот принцип идиома SaYa .Это означает, что предыдущая строка кода должна быть написана следующим образом:
lframe=Frame(r,width=1000,height=650,relief='raise',bd=8)
lframe.pack(side=LEFT)
Примените эту идиому ко всем вашим виджетам, и это избавит вас от некоторых неприятностей.