赞
踩
python中,combobox是ttk部件,其样式属性设置不同于tk部件,下面用各种方法对其进行设置,但是效果却不相同,实在费解。
1.在创建时设置样式属性:只有顶端文本框的font和foreground属性有效,background无效
下列列表的3个属性均无效。
- import tkinter as tk
- from tkinter import ttk
- root=tk.Tk()
- root.geometry("300x300")
- combobox=ttk.Combobox(root,values=[1,2,3,4,5],font=('黑体',20),background='blue',foreground='red')
- combobox.pack()
- root.mainloop()
运行结果如下图
2.用style控制样式:只有顶端文本框的前景色生效
- import tkinter as tk
- from tkinter import ttkroot=tk.Tk()
- root.geometry("300x300")
- ttk.Style().configure('TCombobox',foreground='red',font=('黑体',30),background="blue",width=20)
- combobox=ttk.Combobox(root,values=[1,2,3,4,5],style='TCombobox')
- combobox.pack()
- root.mainloop()
3.用root.option_add()方法:顶端的文本框的背景色和前景色无效,但font属性有效;
下列列表的background,foreground和font都有效
- root=tk.Tk()
-
- root.geometry("300x300")
-
- root.option_add("*TCombobox*background","blue")
-
- root.option_add("*TCombobox*Font",('黑体',30))
-
- root.option_add("*TCombobox*Foreground","red")
-
- combobox=ttk.Combobox(root,values=[1,2,3,4,5])
-
- combobox.pack()
-
- root.mainloop()
对此三种情况的结果不慎理解,还请大神解释一些原因。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。