我想更改tkSimpleDialog的bg颜色以匹配我的系统默认bg颜色:
GTK:
TK:
我试图将config(bg='#CCC9C1')
放在我能想到的任何地方,但我设法只针对对话中的某些部分。
是否可以在tkSimpleDialog中更改bg颜色?
代码示例:
from Tkinter import *
import tkSimpleDialog
class MyDialog(tkSimpleDialog.Dialog):
def body(self, master):
Label(master, text="First:").grid(row=0)
Label(master, text="Second:").grid(row=1)
self.e1 = Entry(master)
self.e2 = Entry(master)
self.e1.grid(row=0, column=1)
self.e2.grid(row=1, column=1)
return self.e1 # initial focus
def apply(self):
first = int(self.e1.get())
second = int(self.e2.get())
print first, second # or something
root = Tk()
root.withdraw()
d = MyDialog(root)
答案 0 :(得分:4)
找到出路。如上所述,root.config(...)
仅在根窗口(我们通常隐藏的侧窗口)上更改外观。对于全局设置,我们鼓励使用与optionDB
(X资源数据库)文件格式相同的Tk数据库文件(即名为.Xdefaults
)。然后我们在这样的脚本中使用它:
root = Tk()
root.option_readfile('optionDB')
更好的是,出于某种原因,我们可以直接在脚本中设置“全局”设置:
root = Tk()
root.option_add('*background', '#CCC9C1')
root.option_add('*Entry*background', '#FFFFFF')
可用的关键字是:
*字体
*标签*字体
*背景
*进入*背景
*前景
*列表框*前景
答案 1 :(得分:1)
看起来您可能只需要使用tkinter.ttk library,这是Tk的主题版本,如this answer所示。希望它有所帮助。
以下是Python 2.x的参考资料,目前为2.7:http://docs.python.org/library/ttk.html