从右边调整Tkinter窗口的大小(python)

时间:2011-07-29 07:51:12

标签: python resize tkinter tk

我不确定如何表达这一点......

我有一个Tkinter窗口,当按下按钮时我需要隐藏这个窗口的一半。 但是,我需要隐藏最左侧,以便窗口现在是原来的一半,
并显示原始窗口的右半部分。

所有Tkinter的调整大小功能都来自窗口的左侧侧。 更改几何值只能显示侧,而隐藏右侧; 我需要反过来。

有人知道怎么做吗?

(我不希望用户拖动窗口边框, 我需要按钮来自动化它。)


规格:

  • Python 2.7.1
  • Tkinter的
  • Windows 7

3 个答案:

答案 0 :(得分:2)

您可以在正确的位置使用减号来使用右锚定几何规格:

123x467-78+9

但是,我不知道这是否适用于Windows(以上是X11技巧,我不知道它是否在平台兼容层中实现);考虑到左侧的投影尺寸,您可能只需要计算新位置并使用它。

答案 1 :(得分:1)

这样做你想要的吗?

import Tkinter as Tk #tkinter

def toggle():
    if frame1.winfo_ismapped():
        frame1.grid_remove()
    else:
        frame1.grid()

root = Tk.Tk()
root.geometry('-450+250')
frame1 = Tk.Frame(root, width=200, height=100, bg='red')
frame1.grid(row=0, column=0)
frame2 = Tk.Frame(root, width=200, height=100, bg='blue')
frame2.grid(row=0, column=1)
Tk.Button(root, text='toggle', command=toggle).grid(row=1, column=1)

root.mainloop()

答案 2 :(得分:0)

我的IT老师有一个建议:

在视线之外添加滚动条,
在调整根窗口大小后,
强制滚动条一直向右滚动。

(所以我想我必须创建一个画布,
将我的所有小部件都装到框架上,
将框架打包到画布上, 使用滚动条配置画布?)

我不确定是否有设置滚动条当前位置的功能(因此是窗口的xview),
但我想是有。

还没有实现这一点,但看起来很有希望。

感谢您的建议!