2010-11-22 38 views
3

此代码在Windows中正常工作。在Mac OS X上,它仅在按钮中显示“多个”,并且通过换行符的所有内容都将被清除。我在Mac上运行Python 2.6.5。带有换行符的按钮无法在Mac OS X上正确显示

import Tkinter as tk 
class App: 
    def __init__(self, master): 
     self.a_button = tk.Button(master, text="Multiple\nLines\nOf Text") 
     self.a_button.pack() 

ROOT = tk.Tk() 
APP = App(ROOT) 
ROOT.mainloop() 

回答

4

Mac原生按钮不会让你这样做;他们有3个预定义的高度,用于各种控制尺寸,就是这样。其他按钮样式确实支持任意尺寸;一种选择是使用瓷砖按钮代替:

self.a_button = tk.Widget(master, 'ttk::button', 
           dict(text="Multiple\nLines\nOf Text")) 
+0

我想我明白了,谢谢 – jgritty 2010-11-22 21:39:16

+0

很酷。 Python 2.7/3.1有“真正的”Tile支持,但只要你在下面使用了足够新的Tk(例如Tcl/Tk 8.5.7附带的OS X 10.6),上面的工作就可以正常工作。 – 2010-11-22 21:40:59