Почему фрейм tkinter расширяется внизу, но создает пустое пространство вверху в родительском фрейме, когда родительский Python

Программы на Python
Ответить
Anonymous
 Почему фрейм tkinter расширяется внизу, но создает пустое пространство вверху в родительском фрейме, когда родительский

Сообщение Anonymous »

У меня есть следующее (выдержки) из моего кода:

Код: Выделить всё

# Class called by createWidgets

class dispRadio(Frame):
def __init__(self, parent=None, **options):
Frame.__init__(self, parent, **options)
self.parent = parent
self.pack(expand=NO, side=TOP)

# other stuff dpne here

# Class called by main body

class NewMenu(Frame):                                   # an extended frame
def __init__(self, parent=None):    # attach to top-level
self.parent = parent
Frame.__init__(self, parent)
self.pack(side=TOP, expand=YES, fill=BOTH)
self.main = self.master

# other stuff done here, e.g. set variable for pandastable dataframe

self.createWidgets()                       # attach frames/widgets

self.PandasFrame = Frame(self.main, highlightbackground="green", highlightthickness=3)
self.PandasFrame.pack(side=TOP, fill=BOTH, expand=YES)

self.pt = Table(self.PandasFrame, dataframe = category_receipts, width=1500, maxcellwidth=1500)
self.pt.show()

def createWidgets(self):
self.mainWin = dispRadio(self, highlightbackground="blue", highlightthickness=1)
self.smallWin = dispRadio2(self, highlightbackground="red", highlightthickness=1)

# Main Body

root = Tk()
nm = NewMenu(root)

root.mainloop()
При этом создается виджет кнопки, за которым следует фрейм, содержащий pandastable. Когда я перетаскиваю нижнюю часть главного окна, pandastable окно действительно увеличивает количество строк, отображаемых в нижней части фрейма; однако между виджетом кнопок и рамкой Padnadstable создается пустое пространство. Я ожидал, что верхняя часть панорамируемого фрейма останется чуть ниже кнопок виджетов, а рост будет только в нижней части фрейма. Мой вопрос: почему родительский фрейм увеличивает пространство (между виджетами кнопок и панорамируемым фреймом и не заполняется панорамируемым фреймом?
Я пробовал различные методы упаковки и упорядочивания фреймов, но не могу найти способ изменения размера главного окна, чтобы не увеличивать пустое пространство между другими фреймами вместо того, чтобы фрейм заполнял новое пространство над ним.
Пример фреймов до и после
Пробовал разные методы упаковки (заполнение, расширение, боковое перемещение) или порядок упаковки фреймов в родительском элементе. Также просмотрел документацию pandastable, чтобы узнать, есть ли в нем что-нибудь для управления родительским фреймом, но ничего не нашел.
>

Подробнее здесь: https://stackoverflow.com/questions/764 ... e-above-in
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»