Ключевое слово Tkinter - bg / background не изменит цвет кнопки [дубликат]

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

16
задан nbro 19 May 2015 в 01:52
поделиться

7 ответов

Я думаю, что ответ заключается в том, что кнопки на mac просто не поддерживают изменение фона и цветов переднего плана. Как вы видели, это не уникально для Tk.

19
ответ дан Bryan Oakley 20 August 2018 в 09:28
поделиться
  • 1
    Да, спасибо. Легко принять за вас :). Пока не появится лучший ответ. – Anthony Cramp 7 October 2009 в 22:02

Я смотрел, почему это не работает. Я нашел быстрый способ попытаться исправить это, чтобы иметь метку, а затем привязать клик с меткой. Затем на короткое время измените цвета ярлыков, чтобы имитировать щелчок. Вот пример.

def buttonPress(*args):
    searchB.config(state = "active")
    searchB.update()
    time.sleep(0.2)
    searchB.config(state = "normal")
    ## Whatever command you want

    searchB = Label(main, text = "Search", bg = "#fecc14", fg = "Black", activebackground = "Red", highlightbackground="Black")
    searchB.bind("<Button-1>", startSearch)
    searchB.pack()
0
ответ дан Evan Porter 20 August 2018 в 09:28
поделиться

Это сработало для меня:

    self.gnuplot_bt = Button(
        self.run_but_container, text="Plot with Gnuplot", font="Helvetica", command=self.gnuplot,
        highlightbackground ="#8EF0F7", pady=2, relief=FLAT
    )
0
ответ дан Kevin 20 August 2018 в 09:28
поделиться
  • 1
    Замечательно; Фактически, kwarg: highlightbackground работает с tkinter OSX – Reblochon Masque 22 February 2018 в 12:11
  • 2
    Вы говорите, что это сработало для вас на Mac ? – Bryan Oakley 4 May 2018 в 18:03
  • 3
    Да @BrianOakley, вот что я говорил. – Reblochon Masque 5 May 2018 в 05:44

Существует решение для изменения фона фона на Mac.

Использование:

highlightbackground=color

Например:

submit = Button(root, text="Generate", highlightbackground='#3E4149')

В результате получается следующая кнопка, которая подходит к фону:

9
ответ дан Luka Kerr 20 August 2018 в 09:28
поделиться

Для любого другого, кто будет заниматься этим вопросом, как и я, решение заключается в использовании модуля ttk , доступного по умолчанию для OS X 10.7. К сожалению, установка цвета фона по-прежнему не работает из коробки, но цвет текста делает.

Для этого требуется небольшое изменение кода:

Оригинал:

from Tkinter import *

Label(None, text='label', fg='green', bg='black').pack()
Button(None, text='button', fg='green', bg='black').pack()

mainloop()

С помощью ttk:

import tkinter as tk
from tkinter import ttk

root = tk.Tk()

# background="..." doesn't work...
ttk.Style().configure('green/black.TLabel', foreground='green', background='black')
ttk.Style().configure('green/black.TButton', foreground='green', background='black')

label = ttk.Label(root, text='I am a ttk.Label with text!', style='green/black.TLabel')
label.pack()

button = ttk.Button(root, text='Click Me!', style='green/black.TButton')
button.pack()

root.mainloop()
10
ответ дан nbro 20 August 2018 в 09:28
поделиться

Подтвердить следующий код может изменить фон кнопки tkinter в Mac OS X.

self.btn_open = tk.Button(self.toolbar,
                          text = "Open",
                          command=self.open,
                          highlightbackground = "gray")

Но он не может изменить bg ttk.Button.

-1
ответ дан Ren Weibo 20 August 2018 в 09:28
поделиться
  • 1
    Это должен быть правильный ответ – Chaikitty 2 December 2017 в 22:49
  • 2
    highlightbackground не совпадает с background. highlightbackground влияет только на небольшую границу по краям кнопки. Фон самой кнопки не изменяется. – Bryan Oakley 5 May 2018 в 02:34
0
ответ дан Mike McReynolds 31 October 2018 в 07:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: