Tkinter顶层窗口大小

2024-06-02 05:55:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在网上寻找一种在tkinter中调整窗口大小的方法。我阅读了文档并一直在查看effbot.org's tkinterbook。我看到了各种选择,但似乎无法让它们发挥作用。

def test():
  top = Toplevel()
  top.title("test")

  msg = Message(top, text="test")
  msg.pack(pady=10, padx=10)


def test1():
  top = Toplevel()
  top.title("test1")

  msg = Message(top, text="test1")
  msg.pack(pady=10, padx=10)

我知道有heightwidth选项,还有root.geometry。然而,我似乎无法用TopLevel来工作。。。

另外,通过定义和顶层创建新窗口的最佳方法是什么?我想要的只是一个弹出窗口,里面有一些格式化的文本。


Tags: 方法text文档testmessagetitletkintertop
1条回答
网友
1楼 · 发布于 2024-06-02 05:55:53

下面创建一个根窗口,然后将其大小设置为400x400,然后创建一个Toplevel小部件并将其大小设置为500x100:

>>> import tkinter as tk
>>> root = tk.Tk()
>>> root.geometry('400x400')
''
>>> top = tk.Toplevel()
>>> top.geometry('500x100')
''

另一种选择是使用容器小部件,如CanvasFrame,将所需大小的小部件放入您要使用的窗口中。然后您可以将其他对象放入此容器中:

>>> top2 = tk.Toplevel()
>>> frame = tk.Frame(top2, width=100, height=100)
>>> frame.pack()

当你pack()frame时,top2会自动调整以适应frame的大小。

使用geometry()设置AxB的大小会导致窗口大小与将AxB小部件放入动态大小的窗口中的窗口大小相同,也就是说,如果放入小部件(或使用geometry()将窗口大小设置为)屏幕的宽度,则窗口的边框将刚好位于屏幕的可见区域之外。

相关问题 更多 >