Setting Tkinter/ttk Frame background color
我正在尝试改变一个TTK框架的背景色,我已经查找了其他的例子,但似乎没有一个奏效。这是迄今为止我的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | from Tkinter import * import ttk p = Tk() p.geometry('600x350') p.configure(bg='#334353') gui_style = ttk.Style() gui_style.configure('My.TButton', foreground='#334353') gui_style.configure('My.TFrame', background='#334353') frame = ttk.Frame(p, style='My.TFrame') frame.grid(column=1, row=1) ttk.Button(frame, text='test', style='My.TButton').grid(column=0, row=0) ttk.Button(frame, text='Test 2', style='My.TButton').grid(column=3, row=3) p.mainloop() |
窗口有我想要的背景色,但是框架仍然有默认的灰色背景。有什么需要我补充的吗?我想要整个窗口,除了按钮的颜色334353。我该怎么做?
编辑:我附加了窗口的外观。我不想要灰色的。:/(注显然,我没有足够的代表来发布图片,所以这里有一个链接,我的当前窗口是imgur:http://imgur.com/kyhbdmb
您的框架大小仅为容纳两个子窗口(按钮)所需的最小大小。你好像想让框架填满主窗口。对框架进行网格划分时,应添加粘性选项,使其展开以填充可用空间(例如:
1 2 | p.grid_columnconfigure(1, weight=1) p.grid_rowconfigure(1, weight=1) |
它告诉主框架网格几何图形管理器应该给单元格和第1行第1列留出空间。这将导致您的框架展开以填充窗口。
它在我的电脑上工作!
试试这个:
- 更新您的python环境(在py 3.4 windows 32位下测试)
- 安装最新的TTK包