CustomTkinter icon indicating copy to clipboard operation
CustomTkinter copied to clipboard

#deselecting all checked CTkCheckboxes

Open coldsober-irene opened this issue 1 year ago • 2 comments

how can I deselect all checked checkboxes?

coldsober-irene avatar Nov 08 '24 08:11 coldsober-irene

Use a for-loop. Loop through all your checkboxes and call deselect().

teijiIshida avatar Nov 08 '24 13:11 teijiIshida

        for i,v in enumerate(self.db_lic_sql_dict):
            command_1=partial(self._select_all_lic,self.db_lic_sql_dict[v])
            row_id+=1
            label=CTkLabel(self.lic_frame, text=v).grid(row=row_id)
            self.select_all=CTkCheckBox(self.lic_frame,text="all",command=command_1,textvariable="on")
            self.select_all.grid(row=row_id,column=1, pady=10)
            row_id+=1
            for j in self.db_lic_sql_dict[v]:
                lic,comment=j.split(";")
                self._checkbox_dict[lic]=CTkCheckBox(self.lic_frame,text=lic,command=lambda bouh=lic:self.radiobutton_event(bouh),)
                row_id+=1
                self._checkbox_dict[lic].grid(row=row_id,column=0,sticky="nw",pady=5)
    def _select_all_lic(self,db_sql, port=None):

        if self.select_all.cget("textvariable")=="on":
                        self.list_lic_select.clear()
                        for key in db_sql:
                            key_tmp,z=key.split(";")
                            str_port,str_lic= key_tmp.split("@")
                            if str_port == port :
                                self.list_lic_select.append([str_lic,str_port])
                                self._checkbox_dict[key].select()
                            if port == None:
                                self.list_lic_select.append([str_lic,str_port])
                                self._checkbox_dict[key_tmp].select()
                        self.select_all.configure(textvariable="off")
                        print("SELECTED ---- :",db_sql,'\n')


        elif self.select_all.cget("textvariable")=="off":          
                        for key in db_sql:
                            key_tmp,z=key.split(";")
                            str_port,str_lic= key_tmp.split("@")
                            self.list_lic_select.clear()
                            self._checkbox_dict[key_tmp].deselect()
                        self.select_all.configure(textvariable="on")
                        print("UNSELECTED ---- :",db_sql,'\n')
        print(self.list_lic_select)

MaxNiark avatar Nov 14 '24 15:11 MaxNiark