如何在tkinter窗口中添加边距?

时间:2010-09-04 17:09:52

标签: python tkinter

所以到目前为止我有一个简单的python 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'))

不起作用。任何可能的解决方案?

3 个答案:

答案 0 :(得分:13)

好的,这是我在问题1中找到的解决方案:

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

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

答案 1 :(得分:10)

使用pad命令(padx,pady,ipadx,ipady)为grid命令在文本小部件周围添加填充。例如:

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

如果要在整个GUI周围填充,请在打包应用程序框架时添加填充:

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

当你说tag命令不起作用时,你如何定义“不起作用”?你收到错误了吗?字体看起来很大但不粗体,粗体但不大,......?这个命令对我来说很好,当我运行它时它工作正常。

您的示例并未显示您实际上是将该标记应用于一系列文本。你是?如果是这样,怎么样?如果您执行以下操作,会发生什么?

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

答案 2 :(得分:1)

快速执行此操作是将浮雕样式调整为平坦,然后您只需调整边框宽度即可。

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