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 :

canvas côte à côte


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 139
    Par défaut canvas côte à côte
    bonjour à tous
    Alors voila, je souhaite avoir plusieurs canvas côte à côte sur un Frame.

    voila un code simplissime pour montrer ce que je veux faire:
    je créer un objet de type cadre (MonCadre) dans lequel je met deux Canvas

    Je spécifie bien que ces canvas ne doivent pas avoir de bord (bd=0)

    Pourtant lorsqu'on lance le code, on apercoit nettement une séparation entre les deux canvas.

    Note: On ne voit pas le fond de l'objet 'Frame' en dessous, car comme on peut le constater lors de l'appelle de Frame.__init__ je demande un fond de couleur rouge! Or la séparation est en gris clair

    Quelqu'un aurait-il une idée?
    Merci
    Julien

    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
     
    class MonCadre(Frame):
        def __init__(self,parent,**kwargs):
            Frame.__init__(self, parent,bg='red')
     
     
            self.can_1=Canvas(self,width=100,height=50,bd=0,bg='grey')
            self.can_1.grid(column=1,row=1)
     
     
            self.can_2=Canvas(self,width=100,height=50,bd=0,bg='grey')
            self.can_2.grid(column=2,row=1)
     
    if __name__ == '__main__':
        root=Tk()
        x=400
        y=250
        can=Canvas(root,bg="grey40",width=700,height=500)
        can.pack()
     
        toto=MonCadre(root)
        graphique=can.create_window(x,y,window=toto)
        root.mainloop()

  2. #2
    Membre Expert 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
    Par défaut
    Bonsoir ju_bicycle,

    Je pense que tu vas vite comprendre avec ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.can_1=Canvas(self, width=100, height=50, bd=0, bg='grey', highlightbackground='grey')
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.can_1=Canvas(self, width=100, height=50, bd=0, bg='grey', highlightthickness=0)
    .
    Et oui... Tu as une zone autour de ton Widget.

    Sinon pour ce qui est des Widgets Frame j'en parle dernièrement sur le forum.

    Bon code.

  3. #3
    Membre Expert 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
    Par défaut
    Bonjour,

    Bon ok:
    Pour ce qui est du Widget Tk Frame il prend automatiquement ('s'adapte') les dimensions de ce qu'il contient.

    Un exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            self.can_1=Canvas(self,width=100,height=50,bd=0,bg='grey')
            self.can_1.grid(column=1,row=1)
     
     
            self.can_2=Canvas(self,width=100,height=50,bd=0,bg='grey')
            self.can_2.grid(column=2,row=1)
     
            Button(self, text='test').grid(column=2,row=2)
    Tu remarqueras que dans mon exemple avec highlightthickness=0 can_1 est plus 'petit' que can_2, puisqu'on fixe la bordure highlight de can_1 à zero au lieu de un ou deux pixel pour can_2. Ton Frame est donc visible au dessus et en dessous de can_1.

    Note au passage: Attention aux dimensions du Widget Frame.

    Bon code

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 139
    Par défaut
    Merci Beaucoup
    je test ca demain, et je donne des news!
    Bon dimanche

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 139
    Par défaut
    all right, c'était bien ca!
    Merci beaucoup!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP-JS] listes déroulantes côte à côte
    Par lodan dans le forum Langage
    Réponses: 7
    Dernier message: 05/10/2006, 16h39
  2. 2 tableaux côte à côte
    Par Mister Nono dans le forum Mise en page CSS
    Réponses: 10
    Dernier message: 05/10/2006, 16h10
  3. [CSS] Problème avec deux div côte-à-côte
    Par Etanne dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 31/07/2006, 13h58
  4. Afficher côte à côte
    Par kissmytoe dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/03/2006, 14h35
  5. 2 listes côtes à côtes (50/50) sous IE 5
    Par nicolas.charlot dans le forum Balisage (X)HTML et validation W3C
    Réponses: 41
    Dernier message: 26/09/2005, 16h33

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