Изменить цвет bg tkSimpleDialog - PullRequest
       3

Изменить цвет bg tkSimpleDialog

1 голос
/ 11 января 2012

Я хочу изменить цвет bg на tkSimpleDialog , чтобы он соответствовал цвету моей системы по умолчанию:

GTK:

GTK

ки:

tk

Я пытался поместить config(bg='#CCC9C1') везде, где только мог придумать, но мне удалось сделать только некоторые части из диалога.

Можно ли изменить цвет bg в tkSimpleDialog?


Пример кода:

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)

Ответы [ 2 ]

4 голосов
/ 11 января 2012

Найден выход.Как уже упоминалось, 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')

Доступные ключевые словаявляются:

* шрифт
* Метка * шрифт
* фон
* Запись * фон
* передний план
* Список * передний план

1 голос
/ 11 января 2012

Похоже, вам может понадобиться библиотека tkinter.ttk , которая является тематической версией Tk, как показано в этого ответа .Надеюсь, это поможет.

Вот ссылка на Python 2.x, в настоящее время 2.7: http://docs.python.org/library/ttk.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...