#python #tkinter #checkbox
Вопрос:
Я хотел бы добавить серию из 3-4 флажков в свой графический интерфейс. Данные, отображаемые в моем графическом интерфейсе, будут зависеть от того, какую комбинацию флажков выберет пользователь. Например, если пользователь выберет поля 1 и 2, будет отображаться определенный фрагмент данных, но если пользователь выберет 1 и 3, будет отображаться другой и т. Д.
Как бы я это кодировал? Я знаю, что переменные могут быть назначены флажкам. В моем заявлении «если» я бы просто выполнил два условия? Например, если переменная == 1 и переменная == 2
Заранее благодарю вас за вашу помощь.
Комментарии:
1. Грубо говоря, да, вам нужно подтвердить, что флажки установлены, например, в
PyQt
вы бы написалиif checkbox01.isChecked() and checkbox02.isChecked(): display_data_xxx()
. Что, вероятно, сбивает вас с толку, так это время выполнения кода, который это делает. В графическом интерфейсе эти взаимодействия постоянно отслеживаются основным потоком графического интерфейса, но каждая структура графического интерфейса имеет свой особый способ работы с ним. Вtkinter
этом участвуют события, поэтому вам, вероятно, нужно будет прочитать о них.2. Вы можете привязать все события флажков к одной функции, которая проверяет наличие условий.
Ответ №1:
Это проект
import tkinter as tk
from tkinter import *
root = tk.Tk()
var=IntVar()
var1=IntVar()
var2=IntVar()
checkbox = tk.Checkbutton(root, text="Value1", variable=var)
checkbox.grid(column=0, row=0)
checkbox1 = tk.Checkbutton(root, text="Value2", variable=var1)
checkbox1.grid(column=1, row=0)
checkbox2 = tk.Checkbutton(root, text="Value3", variable=var2)
checkbox2.grid(column=2, row=0)
def show():
if var.get() == 1:
if var1.get() ==1:
lb=Label(root,text="Hello World").grid()
if var2.get() ==1:
lb=Label(root,text="Hello Python").grid()
bt=Button(root,text="Show",command=show).grid(column=0,row=1)
root.mainloop()
Вы можете добавить переменную в флажок с Int Var.Если вы установите флажок IntVar=1, а если вы не установите флажок IntVar=0.
Итак, у меня есть проект.Если вы установите флажки 1 и 3, это создаст метку «Привет, Python», а если вы установите флажки 1 и 2, это создаст метку «Привет, мир».