Код: Выделить всё
# 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, чтобы узнать, есть ли в нем что-нибудь для управления родительским фреймом, но ничего не нашел.
>
Подробнее здесь: https://stackoverflow.com/questions/764 ... e-above-in
Мобильная версия