Python 更改tkSimpleDialog的背景颜色

Python 更改tkSimpleDialog的背景颜色,python,tkinter,Python,Tkinter,我想更改的背景颜色以匹配我的系统默认背景颜色: GTK: 传统知识: 我试着把configbg='CCC9C1'放在我能想到的任何地方,但我设法只为对话框中的某些部分制作 是否可以在tkSimpleDialog中更改bg颜色 代码示例: from Tkinter import * import tkSimpleDialog class MyDialog(tkSimpleDialog.Dialog): def body(self, master): Label(mas

我想更改的背景颜色以匹配我的系统默认背景颜色:

GTK:

传统知识:

我试着把configbg='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)

看起来您可能只需要使用,这是Tk的主题版本,如中所示。希望能有帮助


这里是Python2.x的参考,目前是2.7:

看起来您可能只需要使用,这是Tk的主题版本,如中所示。希望能有帮助


这里是Python2.x的参考,目前是2.7:

找到了出路。如前所述,root.config。。。仅在我们通常隐藏的根窗口侧窗口上更改外观。对于全局设置,我们建议使用Tk数据库文件,即名为optionDB的文件,其格式与.Xdefaults X资源数据库文件相同。然后我们在这样的脚本中使用它:

root = Tk()
root.option_readfile('optionDB')
更妙的是,出于某些不鼓励的原因,我们可以直接在脚本中设置“全局”设置:

root = Tk()
root.option_add('*background', '#CCC9C1')
root.option_add('*Entry*background', '#FFFFFF')
可用关键字包括:

*字体 *标签*字体 *背景 *条目*背景 *前景 *列表框*前景


找到了出路。如前所述,root.config。。。仅在我们通常隐藏的根窗口侧窗口上更改外观。对于全局设置,我们建议使用Tk数据库文件,即名为optionDB的文件,其格式与.Xdefaults X资源数据库文件相同。然后我们在这样的脚本中使用它:

root = Tk()
root.option_readfile('optionDB')
更妙的是,出于某些不鼓励的原因,我们可以直接在脚本中设置“全局”设置:

root = Tk()
root.option_add('*background', '#CCC9C1')
root.option_add('*Entry*background', '#FFFFFF')
可用关键字包括:

*字体 *标签*字体 *背景 *条目*背景 *前景 *列表框*前景


您是否尝试过编辑tkSimpleDialog.py,如您提供的链接所示?在本例中,我会尝试使用bg='CCC9C1'作为帧本身,即body对象。是的,我通过输入self.config尝试了这一点。。。在身体机能方面,但没有什么好处。这里是截图:我想一定有更全球化的方式。我在root=Tk中添加了相同的内容,但是它只对我要退出的根窗口进行了着色,当然了,你说的是模块本身。我刚试过,没有任何影响。tkSimpleDialog.py中的body.configbg='CCC9C1'有效果,但部分-它将body frame bg(文本标签和输入框的放置位置)着色,但文本标签的bg仍然是浅灰色,以及按钮等其他元素。现在我可以将这个bg颜色分别设置为每个项目,但感觉不太好,因为任何其他脚本都会有拼凑的对话框。所以我想知道Tk的默认bg颜色定义在哪里?这样我就可以设置好了,搜索并编辑了我的原始答案。您是否尝试过编辑tkSimpleDialog.py,如您提供的链接所示?在本例中,我会尝试使用bg='CCC9C1'作为帧本身,即body对象。是的,我通过输入self.config尝试了这一点。。。在身体机能方面,但没有什么好处。这里是截图:我想一定有更全球化的方式。我在root=Tk中添加了相同的内容,但是它只对我要退出的根窗口进行了着色,当然了,你说的是模块本身。我刚试过,没有任何影响。tkSimpleDialog.py中的body.configbg='CCC9C1'有效果,但部分-它将body frame bg(文本标签和输入框的放置位置)着色,但文本标签的bg仍然是浅灰色,以及按钮等其他元素。现在我可以将这个bg颜色分别设置为每个项目,但感觉不太好,因为任何其他脚本都会有拼凑的对话框。所以我想知道Tk的默认bg颜色定义在哪里?这样我就可以把它设置好了。我做了一些搜索并编辑了我的原始答案。很高兴知道。它似乎只在Python中可用3@zetah:ttk在Python2.7中也可用,并且作为2.5和2.6.0版本的可单独安装模块。谢谢@BryanOakley提供的信息。@Bryan:是的,我现在正在玩它。。。看起来比赤裸的tkinter(即“clam”主题)更好,但我误解了它提供了本机控件,这里的情况不是很好。它似乎只在Python中可用3@zetah:ttk在Python2.7中也可用,并且作为2.5和2.6.0版本的可单独安装模块。谢谢@BryanOakley提供的信息。@Bryan:是的,我现在正在玩它。。。看起来比赤裸的tkinter(即“clam”主题)更好,但我误解了它提供了本机控件,这里不是这样