2010-09-04 85 views
2

所以我至今一個簡單的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')) 

不起作用。任何可能的解

回答

8

好吧,這裏是我發現的問題1解決方法:

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

刪除.text似乎改變了整個框架。我仍然沒有解決問題2.

5

使用網格命令的填充選項(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

1

一個快速的方法來做到這一點是調整你的浮雕風格爲平,然後你只需要調整你的邊界寬度。

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

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