В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
Я думаю, что ответ заключается в том, что кнопки на mac просто не поддерживают изменение фона и цветов переднего плана. Как вы видели, это не уникально для Tk.
Я смотрел, почему это не работает. Я нашел быстрый способ попытаться исправить это, чтобы иметь метку, а затем привязать клик с меткой. Затем на короткое время измените цвета ярлыков, чтобы имитировать щелчок. Вот пример.
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()
Это сработало для меня:
self.gnuplot_bt = Button(
self.run_but_container, text="Plot with Gnuplot", font="Helvetica", command=self.gnuplot,
highlightbackground ="#8EF0F7", pady=2, relief=FLAT
)
kwarg: highlightbackground
работает с tkinter OSX
– Reblochon Masque
22 February 2018 в 12:11
Существует решение для изменения фона фона на Mac.
Использование:
highlightbackground=color
Например:
submit = Button(root, text="Generate", highlightbackground='#3E4149')
В результате получается следующая кнопка, которая подходит к фону:
Для любого другого, кто будет заниматься этим вопросом, как и я, решение заключается в использовании модуля 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()
Подтвердить следующий код может изменить фон кнопки tkinter в Mac OS X.
self.btn_open = tk.Button(self.toolbar,
text = "Open",
command=self.open,
highlightbackground = "gray")
Но он не может изменить bg ttk.Button.
highlightbackground
не совпадает с background
. highlightbackground
влияет только на небольшую границу по краям кнопки. Фон самой кнопки не изменяется.
– Bryan Oakley
5 May 2018 в 02:34