簡體   English   中英

設置Tkinter / ttk框架背景色

[英]Setting Tkinter/ttk Frame background color

我正在嘗試更改ttk框架的背景顏色,並且查找了其他示例,但似乎都沒有用。 到目前為止,這是我的代碼:

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

您的框架僅調整為容納兩個子窗口(按鈕)所需的最小尺寸。 好像您希望框架填充主窗口。 對框架進行網格化時,應添加粘滯選項以使其展開以填充可用空間(例如: frame.grid(column=1,row=1,sticky='news') )。 然后,需要讓父級為該網格單元分配所有空間。 為此,您想對父窗口使用grid_rowconfigure和grid_columnconfigure方法。 在這種情況下:

p.grid_columnconfigure(1, weight=1)
p.grid_rowconfigure(1, weight=1)

它告訴主框架網格幾何管理器應為單元格和第1行的第1列留出備用空間。這將導致框架擴展以填充窗口。

它可以在我的PC上運行!

嘗試這個:

  • 更新您的Python環境(在Py 3.4 Windows 32bit下測試)
  • 安裝最新的TTK軟件包

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM