Bonjour, je voudrais savoir comment faire pour créer un bouton avec les coins arrondis en python 2.7.3 avec Tkinter.
Je tiens à préciser que j'ai fais des recherches sans résultats.
Merci d'avance
Bonjour, je voudrais savoir comment faire pour créer un bouton avec les coins arrondis en python 2.7.3 avec Tkinter.
Je tiens à préciser que j'ai fais des recherches sans résultats.
Merci d'avance
Bonjour,
De base pas possible.
Avez vous penser à utiliser un Canvas pour cela ?
@+
Exemple
Après à vous de faire la forme voulue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #!/usr/bin/python # -*- coding: utf-8 -*- # # try: import Tkinter as tk except ImportError: import tkinter as tk root = tk.Tk() c = tk.Canvas(root, bg=root.cget("bg"), width=60, height=30) c.create_oval(1, 1, 59, 29, fill="grey", outline=root.cget("bg")) c.create_text(30, 14, text="Exit") c.pack() c.bind("<Button-1>", lambda e: root.destroy()) root.mainloop()
@+
Bon je laisse les boutons tel quel, mais je ne vois pas comment faire un rectangle aux coins arrondis.
Au revoir et merci de votre réponse.
Comme vous voulez.
Sinon il suffit de savoir comment calculer les coordonnés des points d'un cercle et utiliser Canvas.create_polygon()
@+
Ah oui, ce n'est pas bête, mais je dois rendre mon projet mardi, je préfère le finir avant de m'attarder sur des petits détails
Merci encore, je me servirai surement de vos astuces plus tard.
Avec un .create_polygon() à la place des .create_oval/.create_rectangle vous allez pouvoir jouer sur outline pour donner une impression de relief.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #!/usr/bin/python # -*- coding: utf-8 -*- # # try: import Tkinter as tk except ImportError: import tkinter as tk root = tk.Tk() # Par exemple b = tk.Button() bg = b.cget("bg") font = b.cget('font') fg = b.cget("fg") #b.destroy() #del(b) #b.pack() # c = tk.Canvas(root, bg=bg, width=60, height=30, bd=0) c.create_oval(0, 0, 15, 15, fill="grey", outline=root.cget("bg")) c.create_oval(45, 0, 60, 15, fill="grey", outline=root.cget("bg")) c.create_oval(0, 15, 15, 30, fill="grey", outline=root.cget("bg")) c.create_oval(45, 15, 60, 30, fill="grey", outline=root.cget("bg")) c.create_rectangle(0, 7, 15, 23, fill="grey", outline="grey") c.create_rectangle(45, 7, 60, 23, fill="grey", outline="grey") c.create_rectangle(7, 0, 53, 30, fill="grey", outline="grey") c.create_text(30, 14, text="Exit", font=font, fill=fg) c.pack() c.bind("<Button-1>", lambda e: root.destroy()) root.mainloop()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager