IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

[Tkinter] Boutons coins arrondis


Sujet :

Tkinter Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    terminale S
    Inscrit en
    Juillet 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : terminale S

    Informations forums :
    Inscription : Juillet 2012
    Messages : 27
    Points : 17
    Points
    17
    Par défaut [Tkinter] Boutons coins arrondis
    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

  2. #2
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    De base pas possible.
    Avez vous penser à utiliser un Canvas pour cela ?

    @+

  3. #3
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Exemple
    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()
    Après à vous de faire la forme voulue.

    @+

  4. #4
    Membre à l'essai
    Homme Profil pro
    terminale S
    Inscrit en
    Juillet 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : terminale S

    Informations forums :
    Inscription : Juillet 2012
    Messages : 27
    Points : 17
    Points
    17
    Par défaut
    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.

  5. #5
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Comme vous voulez.
    Sinon il suffit de savoir comment calculer les coordonnés des points d'un cercle et utiliser Canvas.create_polygon()

    @+

  6. #6
    Membre à l'essai
    Homme Profil pro
    terminale S
    Inscrit en
    Juillet 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : terminale S

    Informations forums :
    Inscription : Juillet 2012
    Messages : 27
    Points : 17
    Points
    17
    Par défaut
    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.

  7. #7
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    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()
    Avec un .create_polygon() à la place des .create_oval/.create_rectangle vous allez pouvoir jouer sur outline pour donner une impression de relief.

Discussions similaires

  1. [AC-2007] Boutons, étiquettes à coins arrondis
    Par polivon dans le forum IHM
    Réponses: 2
    Dernier message: 10/11/2012, 15h51
  2. [AC-2007] Présentation des boutons avec coins arrondis ou carrés
    Par lio33 dans le forum IHM
    Réponses: 1
    Dernier message: 10/07/2012, 10h54
  3. bouton avec coin arrondi mais un arriere plan qui n'est pas fixe
    Par nizar94 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 28/09/2009, 13h39
  4. [AC-2003] Boutons à coins arrondis au lieu de carré ?
    Par marot_r dans le forum IHM
    Réponses: 2
    Dernier message: 29/06/2009, 20h33
  5. Boutons avec coins arrondis
    Par tus01 dans le forum Mise en page CSS
    Réponses: 10
    Dernier message: 06/01/2009, 10h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo