Как настроить главную кнопку в tkinter, которая отменяет выбор всех элементов в раскрывающемся списке флажков, не удаляяPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как настроить главную кнопку в tkinter, которая отменяет выбор всех элементов в раскрывающемся списке флажков, не удаляя

Сообщение Anonymous »

Я пытаюсь создать кнопку, чтобы снять все флажки в моих двух списках, но мне это не удалось
это мой код

Код: Выделить всё

import tkinter
from tkinter import *
from tkinter import ttk
from tkinter import messagebox
import os
import openpyxl
import tkinter as tk
from tkinter import Button

window = tk.Tk()
window.geometry('2200x820')
MainFrame = tk.Frame(window, width=385, height=460, relief='raised', borderwidth=1)
ButtonFrame = tk.Frame(MainFrame, width=375, height=30, relief='raised', borderwidth=1)
LabelFrame = tk.Frame(MainFrame, width=375, height=1, relief='raised', background="yellow", borderwidth=0)
LabelFrame1 = tk.Frame(MainFrame, width=375, height=1, relief='raised', background="yellow", borderwidth=0.5)

some_button = tk.Button(ButtonFrame, text='Enter data', command=window.destroy)

values1 = ["Shein", "Pretty Little Thing","Mangnopop","Ru21","forever21","blunotes","Streetwearsociety","Saints","Charllote Russe","Fashionnova","Capella",
"lulus","Missguide"]

values = ["Shein", "Pretty\n Little Thing","Mangnopop","Ru21","forever21","blunotes","Streetwearsociety","Saints","Charllote Russe","Fashionnova","Capella",
"lulus","Missguide"]

combobox = ttk.Combobox(ButtonFrame, width=30)
combobox1 = ttk.Combobox(ButtonFrame, width=30)

combobox.grid(row=1,column=2,padx=10)
combobox1.grid(row=2,column=2)

checkbuttons_vars = [tk.BooleanVar() for value in values]
checkbuttons_vars1 = [tk.BooleanVar() for value in values1]

checkbuttons = []
checkbuttons1 = []

for index, value in enumerate(values):
checkbutton = tk.Checkbutton(LabelFrame,text=value, variable=checkbuttons_vars[index])
checkbutton.config(background="yellow", fg="black", font=("Fira Code", 8),
selectcolor="white", relief="flat", padx=1, pady=1)
checkbutton.pack(side="left",anchor="w",fill="both")
checkbuttons.append(checkbutton)

for index, value in enumerate(values1):
checkbutton = tk.Checkbutton(LabelFrame1,text=value,offvalue = 0, variable=checkbuttons_vars1[index])
checkbutton.config(background="yellow", fg="black", font=("Fira Code", 8),
selectcolor="white", relief="flat", padx=1, pady=1)
checkbutton.pack(side="left",anchor="w",fill="both")
checkbuttons1.append(checkbutton)

def update_combobox():
selected_values = [value for value, var in zip(values, checkbuttons_vars,) if var.get()]
selected_values1 = [value for value, var in zip(values1, checkbuttons_vars1,) if var.get()]
combobox.configure(width=40, height=7)
combobox.delete(0, tk.END)
combobox.insert(0," , " .join(selected_values,))
combobox.insert(0," , ")
combobox.insert(0,"  , ".join(selected_values1))

def update_combobox1():
selected_values = [value for value, var in zip(values, checkbuttons_vars) if var.get()]
selected_values1 = [value for value, var in zip(values1, checkbuttons_vars1,) if var.get()]
combobox1.configure(width=40, height=7)
combobox1.delete(0, tk.END)
combobox1.insert(0, ", ".join(selected_values))
combobox1.insert(0," , ")
combobox1.insert(0,"   ,  ".join(selected_values1))

def deselect():
for widget in window.winfo_children():
if isinstance(widget,tk.Checkbutton):
widget.deselect()

deselect = tk.Button(ButtonFrame, text="deselect all", anchor="nw",command=deselect())
deselect.grid(row=1,column=5)

update_button = tk.Button(ButtonFrame, text="Update", anchor="nw",command=update_combobox)
update_button.grid(row=1,column=3)

update_button1 = tk.Button(ButtonFrame, text="Update", anchor="nw",command=update_combobox1)
update_button1.grid(row=2,column=3)

for frame in [MainFrame, LabelFrame, LabelFrame1, ButtonFrame,]:
frame.pack(expand=True, fill='both')
frame.pack_propagate(0)

for widgetin [some_button]:
widget.pack(expand=True, fill='x', anchor='s',ipady=10)

window.mainloop()
Я создаю компьютерную систему, которая позволяет пользователю выбирать различные элементы из флажка и обновлять каждый элемент в отдельном поле со списком. Я хочу, чтобы пользователь мог отменить выбор элементов одним щелчком мыши, используя кнопку отмены выбора.
Любая идея будет высоко оценена

Подробнее здесь: https://stackoverflow.com/questions/784 ... he-dropdow
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»