[英]Tkinter grouping buttons and lables
我想创建一个GUI,在其中指定一堆文件以供以后处理(命令行中解析十几个文件只是PITA)。
因此,现在我想对标签和按钮进行分组以提高可读性。
我已经尝试过类似的方法:
DC1_path_label = Label(window_fine_DC, text = "Please specify the path of DC 1:", relief=RAISED)
DC1_B = Tkinter.Button(window_fine_DC, textvariable = DC_path1, command = setDC1)
DC2_path_label = Label(window_fine_DC, text="Please specify the path of DC 2:", relief=RAISED)
DC2_B = Tkinter.Button(window_fine_DC, textvariable=DC_path2, command=setDC2)
DC1_path_label.grid(row = 0, column = 1)
DC1_B.grid(row = 1, column = 1)
DC2_path_label.grid(row = 3, column = 1)
DC2_B.grid(row = 4, column = 1)
但它似乎没有作用,填充物也不起作用,因为填充物在各个方向上都一样。
当我们在使用它时,是否有比关闭旧窗口并打开新窗口更优雅的方式来更改窗口?
抱歉,如果这是一个愚蠢的问题,我是python / gui的新手...
我相信您需要的是为padx
和/或pady
提供tuple
。
您可以通过这种方式为每侧指定填充。
我以pady
为例,说明如何只在一侧提供填充。 请注意顶部标签的顶部如何填充,而底部按钮的底部没有填充。
from tkinter import *
root = Tk()
DC1_path_label = Label(root, text = "Please specify the path of DC 1:", relief=RAISED)
DC1_B = Button(root)
DC2_path_label = Label(root, text="Please specify the path of DC 2:", relief=RAISED)
DC2_B = Button(root)
DC1_path_label.grid(row = 0, column = 1, pady = (10, 0))
DC1_B.grid(row = 1, column = 1, pady = (10, 0))
DC2_path_label.grid(row = 3, column = 1, pady = (10, 0))
DC2_B.grid(row = 4, column = 1, pady = (10, 0))
root.mainloop()
结果:
更新:
至于更改窗口,有几个选项可用于操作其中的内容并替换内容。
您可以destroy()
小部件并制作新的。 虽然这没有让我感到更优雅。 它将使您保持窗口打开状态。
您可以使用一些配置选项来更改当前小部件的文本或通过一系列配置重新排列网格。 尽管这也不会让我感到优雅。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.