Текст, который будет отображаться как флажок, установлен в Python Tkinter - PullRequest
0 голосов
/ 05 августа 2020

Я кодирую GUI в Python 2.7 и устанавливаю флажки. Я хочу знать, как сделать так, чтобы текст отображался рядом с флажком, когда он отмечен и не отмечен. Например, Когда я устанавливаю флажок, текст рядом с флажком должен быть «включен», а когда я снимаю флажок, текст должен быть «отключен».

Ответы [ 2 ]

4 голосов
/ 05 августа 2020

Вы можете назначить те же параметры StringVar для textvariable и variable из Checkbutton и установить onvalue='enable' и offvalue='disable'. Затем всякий раз, когда состояние контрольной кнопки изменяется, текст изменяется:

import tkinter as tk

root = tk.Tk()

var = tk.StringVar(value='disable')
tk.Checkbutton(root, textvariable=var, variable=var, onvalue='enable', offvalue='disable').pack()

root.mainloop()
2 голосов
/ 05 августа 2020

В этом нет ничего особенно сложного. При переключении кнопки-флажки могут вызывать команду. Вы можете изменить текст внутри команды, используя метод configure виджета.

Вот простой пример:

import tkinter as tk

def toggle(widget):
    variable = widget.cget("variable")
    value = int(widget.getvar(variable))
    label = "enable" if value else "disable"
    widget.configure(text=label)

root = tk.Tk()

for i in range(10):
    cb = tk.Checkbutton(root, text="disable")
    cb.configure(command=lambda widget=cb: toggle(widget))
    cb.pack(side="top")

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