J'essaie de créer un widget personnalisé qui comprend un séparateur derrière une étiquette. Je voudrais que le séparateur s'étende derrière l'étiquette de chaque côté de la fenêtre (en utilisant la grille). J'ai essayé de créer ceci moi-même, mais je n'ai pas pu obtenir le séparateur pour coller aux bords.Séparateur Python Tkinter TTK avec étiquette
import tkinter as tk
from tkinter import ttk
class LabelSeparator (tk.Frame):
def __init__ (self, parent, text = "", width = "", *args):
tk.Frame.__init__ (self, parent, *args)
self.separator = ttk.Separator (self, orient = tk.HORIZONTAL)
self.separator.grid (row = 0, column = 0, sticky = "ew")
self.label = ttk.Label (self, text = text)
self.label.grid (row = 0, column = 0, padx = width)
if __name__ == "__main__":
root = tk.Tk()
root.geometry ("200x40")
label = LabelSeparator (root, text = "Label", width = 15)
label.grid (sticky = "ew")
label2 = LabelSeparator (root, text = "A Second Label", width = 15)
label2.grid (sticky = "ew")
root.mainloop()
La seule manière que je trouvais d'élargir le séparateur était d'augmenter le padx sur l'étiquette, mais cela ne veut pas vraiment résoudre le problème.
Je dois mentionner que je suis très nouveau à la création de widgets personnalisés.
Oh, merci beaucoup. Je ne me suis pas rendu compte que c'était si simple ... J'utilise correctement le gestionnaire de grille lorsque je développe un logiciel, c'était juste pour tester le widget. – PotatoBeenCrafted