Переключатель фона флажка Tkinter - PullRequest
0 голосов
/ 11 июня 2019

я пытаюсь получить его, поэтому, когда флажок установлен, он изменит фон на белый (# 00ffdd), а при отключении он вернется к темному цвету (# 393636).Спасибо.

попытался сделать это командой, но не сработало.

from tkinter import *


#At the end of this all open slides have to be x.destroy()
#this removes them till wanted again
#eg settings.destroy inventory.destroy


def helpmenu():
    #85 > 21 ^
    help1 = Label(unbox, text ="How to play:",fg = "#ffffff", bg = "#363636", font = "Helvetica 10 bold")
    help2 = Label(unbox, text ="####################################################################################~",fg = "#ffffff", bg = "#363636", font = "Helvetica 10")
    help3 = Label(unbox, text ="####################################################################################~",fg = "#ffffff", bg = "#363636", font = "Helvetica 10")
    help4 = Label(unbox, text ="####################################################################################~",fg = "#ffffff", bg = "#363636", font = "Helvetica 10")
    help5 = Label(unbox, text ="####################################################################################~",fg = "#ffffff", bg = "#363636", font = "Helvetica 10")
    help6 = Label(unbox, text ="####################################################################################~",fg = "#ffffff", bg = "#363636", font = "Helvetica 10")
    help7 = Label(unbox, text ="####################################################################################~",fg = "#ffffff", bg = "#363636", font = "Helvetica 10")
    help8 = Label(unbox, text ="####################################################################################~",fg = "#ffffff", bg = "#363636", font = "Helvetica 10")
    help9 = Label(unbox, text ="####################################################################################~",fg = "#ffffff", bg = "#363636", font = "Helvetica 10")
    help10 = Label(unbox, text ="####################################################################################~",fg = "#ffffff", bg = "#363636", font = "Helvetica 10")
    help11 = Label(unbox, text ="####################################################################################~",fg = "#ffffff", bg = "#363636", font = "Helvetica 10")
    help12 = Label(unbox, text ="####################################################################################~",fg = "#ffffff", bg = "#363636", font = "Helvetica 10")
    help13 = Label(unbox, text ="####################################################################################~",fg = "#ffffff", bg = "#363636", font = "Helvetica 10")
    help14 = Label(unbox, text ="####################################################################################~",fg = "#ffffff", bg = "#363636", font = "Helvetica 10")
    help15 = Label(unbox, text ="####################################################################################~",fg = "#ffffff", bg = "#363636", font = "Helvetica 10")
    help16 = Label(unbox, text ="####################################################################################~",fg = "#ffffff", bg = "#363636", font = "Helvetica 10")
    help17 = Label(unbox, text ="####################################################################################~",fg = "#ffffff", bg = "#363636", font = "Helvetica 10")
    help18 = Label(unbox, text ="####################################################################################~",fg = "#ffffff", bg = "#363636", font = "Helvetica 10")
    help19 = Label(unbox, text ="####################################################################################~",fg = "#ffffff", bg = "#363636", font = "Helvetica 10")
    help20 = Label(unbox, text ="####################################################################################~",fg = "#ffffff", bg = "#363636", font = "Helvetica 10")
    help21 = Label(unbox, text ="####################################################################################~",fg = "#ffffff", bg = "#363636", font = "Helvetica 10")
    help22 = Label(unbox, text ="####################################################################################~",fg = "#ffffff", bg = "#363636", font = "Helvetica 10")


    help1.place(x=0, y=30)
    help2.place(x=0, y=50)
    help3.place(x=0, y=70)
    help4.place(x=0, y=90)
    help5.place(x=0, y=110)
    help6.place(x=0, y=130)
    help7.place(x=0, y=150)
    help8.place(x=0, y=170)
    help9.place(x=0, y=190)
    help10.place(x=0, y=210)
    help11.place(x=0, y=230)
    help12.place(x=0, y=250)
    help13.place(x=0, y=270)
    help14.place(x=0, y=290)
    help15.place(x=0, y=310)
    help16.place(x=0, y=330)
    help17.place(x=0, y=350)
    help18.place(x=0, y=370)
    help19.place(x=0, y=390)
    help20.place(x=0, y=410)
    help21.place(x=0, y=430)
    help22.place(x=0, y=450)

def settings ():
    setting1 = Checkbutton(unbox, text ="oof mode",fg = "#ffffff", bg = "#363636", font = "Helvetica 10", command = unbox.configure(background="#00ffdd"))
    setting1.place(x=0, y=100)




#####################################################################################################################
unbox = Tk()
unbox.geometry ("600x480")
unbox.configure(background="#393636")
unbox.title("Dunno What Game This Is:")
unbox.resizable(0,0)

button = Button(unbox, text = "  Close:   ",fg = "#af0519", bg = "#363636", font = "Helvetica 10", command = exit)
button.place(x=0, y=1)

button1 = Button(unbox, text = "     Inventory:     ",fg = "#ffffff", bg = "#363636", font = "Helvetica 10", command = print ("test"))
button1.place(x=65, y=1)

button2 = Button(unbox, text = "       Market:      ",fg = "#ffffff", bg = "#363636", font = "Helvetica 10", command = print ("test"))
button2.place(x=168, y=1)

button3 = Button(unbox, text = "      Gambling:     ",fg = "#ffffff", bg = "#363636", font = "Helvetica 10", command = print ("test"))
button3.place(x=272, y=1)

button4 = Button(unbox, text = "      Settings:     ",fg = "#ffffff", bg = "#363636", font = "Helvetica 10", command = settings)
button4.place(x=386, y=1)

button5 = Button(unbox, text = "    Help Menu:      ",fg = "#ffffff", bg = "#363636", font = "Helvetica 10", command = helpmenu)
button5.place(x=493, y=1)





mainloop()

Должен изменить цвет фона, когда отмечен, и изменить его обратно, если не отмечен.На самом деле постоянно меняет фон.Спасибо.

1 Ответ

3 голосов
/ 11 июня 2019

Ну, во-первых, попробуйте определить свой графический интерфейс как класс.Это облегчит доступ к некоторым переменным и сделает код более читабельным.

Чтобы решить вашу проблему, вы должны ввести переменную, которая будет хранить состояние флажка, чтобы вы могли проверить, какой цвет должен применяться.Примерно так должно работать:

def settings ():
    def setting1_checked(widget):
        if var.get():
            widget.configure(background="#00ffdd")
        else:
            widget.configure(background="#363636")

    var = IntVar()
    setting1 = Checkbutton(unbox, text ="oof mode",fg = "#ffffff", bg = "#363636", font = "Helvetica 10", command = lambda: setting1_checked(setting1), variable=var)
    setting1.place(x=0, y=100)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...