如何向tkinter窗口添加边距?

问题描述:

所以我至今一个简单的Python的Tkinter窗口,我添加文字,按钮等如何向tkinter窗口添加边距?

片段:

class Cfrm(Frame): 

    def createWidgets(self): 

     self.text = Text(self, width=50, height=10) 
     self.text.insert('1.0', 'some text will be here') 
     self.text.tag_configure('big', font=('Verdana', 24, 'bold')) 


     self.text["state"] = "disabled" 
     self.text.grid(row=0, column=1) 

     self.quitw = Button(self) 
     self.quitw["text"] = "exit", 
     self.quitw["command"] = self.quit 
     self.quitw.grid(row=1, column=1) 


    def __init__(self, master=None): 
     Frame.__init__(self, master) 
     self.pack() 
     self.createWidgets() 

的问题是,我想有大约15-20像素窗边的边缘,我到处看,我找不到解决方案。另外

self.text.tag_configure('big', font=('Verdana', 24, 'bold')) 

不起作用。任何可能的解

好吧,这里是我发现的问题1解决方法:

self.grid(padx=20, pady=20) 

删除.text似乎改变了整个框架。我仍然没有解决问题2.

使用网格命令的填充选项(padx,pady,ipadx,ipady)在文本小部件周围添加填充。例如:

self.text.grid(row=0, column=1, padx=20, pady=20) 

如果你想围绕着整个GUI填充,当你打包应用程序框架添加填充:

self.pack(padx=20, pady=20) 

当你说的标签命令不起作用,你怎么定义“不起作用”?你有错误吗?字体看起来很大,但不是粗体,大胆但不大,...?该命令对我来说看起来很好,当我运行它时,它工作正常。

您的示例并未显示您实际将该标记应用于一定范围的文本。你是?如果是这样,怎么样?如果你做了以下事情,会发生什么?

self.text.insert("1.0", 'is this bold?', 'big') 
+0

当我这样做:self.text.insert(1.0 '?就是这种大胆', '大') 绝对没有changes.The文字显示出来,但是没有大胆 Padx,Pady不工作,唯一的问题是它为小部件添加了填充,而不是整个窗口,所以文本和按钮之间现在有空格。是否有可能做一些事情,比如调整窗口的大小以适应当前的大小? – 2010-09-04 19:07:18

+0

self.pack(padx ...)非常有帮助! – qed 2014-11-12 20:28:43

一个快速的方法来做到这一点是调整你的浮雕风格为平,然后你只需要调整你的边界宽度。

self.Border = Tkinter.Frame(self, relief='flat', borderwidth=4) 
+0

与我的解决方案相同。 – 2010-09-07 23:25:03