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 :

définir la taille d'une "frame"


Sujet :

Tkinter Python

  1. #1
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 10
    Par défaut [résolut]définir la taille d'une "frame"
    Bonjour,

    je n'arrive pas a forcer la taille de mon frame :

    je veut que mon frame fasse 800*50 pixels.

    lorsque je définit le frame seul : il prend bien cette dimension,
    mais lorsque je rajoute mon bouton dans le frame : la taille du frame se réduit à la taille du bouton : comme si la taille du bouton écrase la configuration de la dimension du frame.

    voici la partie de mon Code qui interesse:


    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
     
    from Tkinter import *
     
    def XConfig1():
     
        global Fen_Jouer
        print NConfig
        print "Jouer 800*600"
        Fen_Jouer = Tk(className = " LinuxCIV-800*600")
        Fen_Jouer.geometry("800x525")
        Fram_Menu = Frame(Fen_Jouer, width =800, height =50, bg="light yellow")
        Fram_Menu.pack(side = TOP)
     
        BMenu = Button (Fram_Menu, text = "MENU", width=6, height = 2 , command = XMenu)
        BMenu.pack (side = RIGHT , padx = 5, pady = 5)
    Si j'enlève mon bouton le frame est correct.

    je voudrais que mon frame fasse 800*50 et que mon bouton "MENU" soit à droite dans le frame.

    pour ceux qui veulent voir le code entier et me donner des conseils d'amélioration :
    http://marcon.sylvain.perso.sfr.fr/L...-11-03-2010.py

    merci de vos futures réponses.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 222
    Par défaut
    Salut,
    Il faut utliser pack_propagate:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fram_Menu.pack_propagate(False)

  3. #3
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 10
    Par défaut
    merci
    nikel c'est exactement ce que je cherchais.

    pour définir les couleurs : est on obliger d'utiliser les nom : blue, red...

    ce qui limite le choix et si tel est le cas ou trouve t-on la liste complète des couleurs?

    Sinon peut-on désigner les couleurs par leurs valeurs RVB ou HTML ?

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 222
    Par défaut
    Voilà ce que dit la doc:


    You can also use any locally defined standard color name. The colors "white", "black", "red", "green", "blue", "cyan", "yellow", and "magenta" will always be available. Other names may work, depending on your local installation.

    Donc les noms des couleurs dépendent de ton installation.
    Tu peux jeter un coup d'œil ici.

    Sinon tu peux utiliser des valeurs hexadécimals précédées d'un #, #FF00FF par exemple.

  5. #5
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 10
    Par défaut
    Citation Envoyé par nyko77 Voir le message
    Voilà ce que dit la doc:

    Sinon tu peux utiliser des valeurs hexadécimals précédées d'un #, #FF00FF par exemple.
    c'est excatement celà que je voulais savoir.

    merci de tes réponses.
    j'ai réussit à organiser ma fenêtre comme je le souhaite.
    voici mon code pour ma fenètre:
    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
    def XConfig1():
     
        global Fen_Jouer
        global MAP
        global WAP
        global Fram_Txt
        print "Jouer 800*600"
        Fen_Jouer = Tk(className = " LinuxCIV-800*600")
        Fen_Jouer.geometry("800x525")
     
        Fram_Menu = Frame(Fen_Jouer, width =800, height =35, bg="#FFFFC0")
        Fram_Game=Frame(Fen_Jouer, width =800, height =452)
        Fram_Txt=Frame(Fen_Jouer, width =800, height =38, bg="#C0FFC0")
     
        MAP = Canvas( Fram_Game, width = 701 , height = 451, bg ="#FF00FF")
        WAP=Canvas( Fram_Game, width = 98 , height = 451, bg = "#FFDCA8")
     
        Fram_Menu.pack_propagate(False)
        Fram_Menu.pack ()
        Fram_Game.pack ()
        Fram_Txt.pack ()
        MAP.pack (side = LEFT)
        WAP.pack (side = RIGHT)
     
        BMenu = Button (Fram_Menu, text = "MENU", width=6, height = 2 , command = XMenu)
        BMenu.pack (side = RIGHT , padx = 5, pady = 5)
    et le résultat (avec un clik sur le bouton "MENU")


Discussions similaires

  1. [JScrollPane]Définir la taille d'une JTable
    Par leminipouce dans le forum Composants
    Réponses: 1
    Dernier message: 03/04/2007, 13h29
  2. Définir la taille d'une page par défaut
    Par Ocelot dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 22/01/2007, 19h29
  3. Réponses: 2
    Dernier message: 06/02/2006, 20h41

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