Python Tkinter:调整框架大小的问题

罗威

我正在尝试在GUI中调整窗口大小,但是其中一个框架被忽略了,我不确定为什么。窗口在水平方向上可以调整大小,但是当我尝试在垂直方向上调整大小时,带有按钮的框架会消失。这是我的第一个GUI,所以我确定我缺少某些东西...

from Tkinter import *
from ttk import *

class GUI(Frame):
    def __init__(self, root):
        Frame.__init__(self, root)

        self.root = root

        lbFrame = Frame(self.root)
        nbFrame = Frame(self.root)

        self.note = Notebook(nbFrame)
        self.note.pack(fill=BOTH, expand=YES)

        lbFrame.pack(side=LEFT, fill=BOTH, expand=YES)
        nbFrame.pack(side=RIGHT, fill=BOTH, expand=YES)

        self.make_file_viewer()

        # Label
        lblabel = Label(lbFrame, text='Files', background='#E8E8E8')
        lblabel.pack(side=TOP, expand=YES, padx=10, pady=10)

        # Listbox
        self.lb = Listbox(lbFrame, height=49, borderwidth=0, font=('Purisa', 11), selectmode=EXTENDED)
        self.lb.pack(side=BOTTOM, expand=YES, padx=10, pady=10)

    def make_file_viewer(self):
        fvwr = Frame(self.note)

        dataFrm = Frame(fvwr)
        btnFrm = Frame(fvwr)
        dataFrm.pack(side=TOP, fill=BOTH, expand=YES)
        btnFrm.pack(side=BOTTOM, fill=BOTH, expand=YES)

        fvwr.config(borderwidth=2)
        self.note.add(fvwr, text='File View')

        # Label
        self.lbl_fvwr_search = Label(dataFrm, text='Search Hits\t0', justify=LEFT)
        self.lbl_fvwr_search.pack(side=TOP, anchor=W, expand=YES)

        # Scrollbar
        scrollbar_fvwr = Scrollbar(dataFrm)
        scrollbar_fvwr.pack(side=RIGHT, fill=Y, expand=YES)

        # Textbox
        self.outputPanel_fvwr_text = Text(dataFrm, wrap='word', height=40, width=115, yscrollcommand=scrollbar_fvwr.set)
        self.outputPanel_fvwr_text.pack(side=LEFT, fill=BOTH, expand=YES)
        scrollbar_fvwr.config(command=self.outputPanel_fvwr_text.yview)

        # Start button
        viewBtn = Button(btnFrm, text='Start', width=8)
        viewBtn.pack(anchor=W, expand=YES)

if __name__ == '__main__':
    root = Tk()
    app = GUI(root)
    root.mainloop()
布莱恩·奥克利(Bryan Oakley)

绝对可以做的最好的事情是重新开始,并逐步进行布局。首先创建主要区域,并确保它们正确调整大小。在您的情况下,请创建左侧和右侧。再次,使这两个方面相对于彼此适当地调整大小。

完成后,专注于某一部分。由于您知道主要部分的大小可以正确调整,因此您只需要关注该特定侧的元素即可。再次,将其分解成多个部分,并在处理主要部分中的任何小部件之前使这些部分工作。

当您以这种方式进行布局时,使整个GUI正常工作容易得多,因为您不会尝试同时处理六个小部件的行为。

在您的特定情况下,问题的根源在于您几乎拥有expand=YES所有东西。根据一般经验,您只想将其设置YES为给定父窗口中的一个小部件。例如,在主窗口中,您希望向右扩展而不是在左侧(我猜测是),在右窗口中,您希望扩展文本小部件,而不是其他小部件。

设置expand=NOscrollbar_fvwr,,self.lbl_fvwr_searchbtnFrm获得右侧的尺寸以正确调整尺寸。对于左侧,增加fill=BOTHself.lbexpand=NONElblabel

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python Tkinter:调整框架大小的问题

来自分类Dev

python tkinter canvas未调整大小

来自分类Dev

Python Tkinter框架newby几何问题?

来自分类Dev

调整Canvas的大小使其等于Tkinter Python中的帧大小

来自分类Dev

Python Tkinter 将按钮大小调整为窗口大小

来自分类Dev

python with TkInter - 自动调整按钮大小但保持相同大小

来自分类Dev

Python Tk inter - 使用绑定动态调整框架大小

来自分类Dev

Python 3.3 Tkinter LabelFrame可调整大小

来自分类Dev

Python Tkinter Rowspan无法正确调整元素的大小

来自分类Dev

列表框无法在Tkinter中自动调整大小(python)

来自分类Dev

我如何在 python tkinter 中显示调整大小的图像

来自分类Dev

Python / Tkinter:动态扩展字体大小以填充框架

来自分类Dev

pyplot的问题在Python中显示调整大小的图像

来自分类Dev

tkinter网格和框架不调整框架大小

来自分类Dev

当用户调整窗口大小时,Python tkinter 小部件的大小调整不均匀

来自分类Dev

在Python3 / tkinter中,如何相对于其父窗口大小设置框架的大小?

来自分类Dev

Python 调整图像大小

来自分类Dev

在tkinter中调整Entry Widget大小的问题

来自分类Dev

Python Tkinter框架对齐

来自分类Dev

Python Tkinter框架对齐

来自分类Dev

Python Tkinter 框架

来自分类Dev

如何在Python中使用Tkinter在Canvas中调整图像大小?

来自分类Dev

使用Python Tkinter和网格布局管理器调整列表框的大小

来自分类Dev

tkinter 中可调整大小的窗口框架

来自分类Dev

如何使用python在tkinter中更改按钮和框架的字体和大小?

来自分类Dev

在Windows上的Python中调整控制台窗口大小的问题

来自分类Dev

用pyinstaller将Python转换为.exe无法调整大小的问题

来自分类Dev

Python PyQt Qlabel调整大小

来自分类Dev

如何使用Tkinter python显示带有上载按钮的图像并使用窗口调整大小(动态地)调整其大小,我需要添加上载按钮

Related 相关文章

  1. 1

    Python Tkinter:调整框架大小的问题

  2. 2

    python tkinter canvas未调整大小

  3. 3

    Python Tkinter框架newby几何问题?

  4. 4

    调整Canvas的大小使其等于Tkinter Python中的帧大小

  5. 5

    Python Tkinter 将按钮大小调整为窗口大小

  6. 6

    python with TkInter - 自动调整按钮大小但保持相同大小

  7. 7

    Python Tk inter - 使用绑定动态调整框架大小

  8. 8

    Python 3.3 Tkinter LabelFrame可调整大小

  9. 9

    Python Tkinter Rowspan无法正确调整元素的大小

  10. 10

    列表框无法在Tkinter中自动调整大小(python)

  11. 11

    我如何在 python tkinter 中显示调整大小的图像

  12. 12

    Python / Tkinter:动态扩展字体大小以填充框架

  13. 13

    pyplot的问题在Python中显示调整大小的图像

  14. 14

    tkinter网格和框架不调整框架大小

  15. 15

    当用户调整窗口大小时,Python tkinter 小部件的大小调整不均匀

  16. 16

    在Python3 / tkinter中,如何相对于其父窗口大小设置框架的大小?

  17. 17

    Python 调整图像大小

  18. 18

    在tkinter中调整Entry Widget大小的问题

  19. 19

    Python Tkinter框架对齐

  20. 20

    Python Tkinter框架对齐

  21. 21

    Python Tkinter 框架

  22. 22

    如何在Python中使用Tkinter在Canvas中调整图像大小?

  23. 23

    使用Python Tkinter和网格布局管理器调整列表框的大小

  24. 24

    tkinter 中可调整大小的窗口框架

  25. 25

    如何使用python在tkinter中更改按钮和框架的字体和大小?

  26. 26

    在Windows上的Python中调整控制台窗口大小的问题

  27. 27

    用pyinstaller将Python转换为.exe无法调整大小的问题

  28. 28

    Python PyQt Qlabel调整大小

  29. 29

    如何使用Tkinter python显示带有上载按钮的图像并使用窗口调整大小(动态地)调整其大小,我需要添加上载按钮

热门标签

归档