1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| from typing import Tuple
import customtkinter as ctk
class AppLabel(ctk.CTkLabel):
def __init__(self, parent, text, size, color='black'):
if size == 'titre':
font = ('Arial Black', 22, 'bold')
elif size == 'categorie':
font = ('Arial', 20, 'underline')
elif size == 'attribut':
font = ('Arial', 20)
else:
font = ('Arial', 14) # Taille par défaut si aucune correspondance n'est trouvée
super().__init__(parent, text=text, font=font, text_color=color)
class LabeledLabel(ctk.CTkFrame):
def __init__(self,parent,text_label,size,color='black',value='',btn=False):
super().__init__(parent)
self.master=parent
self.configure(border_color='white',border_width=2,fg_color='red')
self.label=AppLabel(self,text=text_label,size=size,color=color)
self.value=AppLabel(self,text=value,size=size,color=color)
self.label.grid(row=0,column=0,padx=5,pady=5,sticky='w')
self.value.grid(row=0,column=1,padx=5,pady=5,sticky='e')
self.grid_columnconfigure(0, weight=1)
if btn:
self.btn=ctk.CTkButton(self,text='Search',height=18,width=18)
self.btn.grid(row=0,column=2,padx=5,pady=5)
class Win(ctk.CTkFrame):
def __init__(self, master: any, width: int = 200, height: int = 200, corner_radius: int | str | None = None, border_width: int | str | None = None, bg_color: str | Tuple[str, str] = "transparent", fg_color: str | Tuple[str, str] | None = None, border_color: str | Tuple[str, str] | None = None, background_corner_colors: Tuple[str | Tuple[str, str]] | None = None, overwrite_preferred_drawing_method: str | None = None, **kwargs):
super().__init__(master, width, height, corner_radius, border_width, bg_color, fg_color, border_color, background_corner_colors, overwrite_preferred_drawing_method, **kwargs)
self.columnconfigure(0,minsize=500)
self.columnconfigure(1,weight=2)
self.rowconfigure(0,weight=1)
self.rowconfigure(1,weight=1)
self.rowconfigure(2,weight=1)
self.frame00=ctk.CTkFrame(self,fg_color='blue')
self.frame00.grid(row=0,column=0,sticky='nsew')
self.code_fournisseurlab=LabeledLabel(self.frame00,text_label='code fournisseur',size='attribut',btn=True)
self.code_fournisseurlab.grid(row=0,column=0,padx=5,pady=5,sticky='ew')
root=ctk.CTk()
root.title('test')
root.geometry('+0+0')
window=Win(root)
window.pack()
root.mainloop() |
Partager