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

GTK+ avec Python Discussion :

Espacer les éléments/containers dans une fenêtre GTK


Sujet :

GTK+ avec Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Retraité de l'Informatique
    Inscrit en
    Août 2019
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité de l'Informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2019
    Messages : 37
    Points : 36
    Points
    36
    Par défaut Espacer les éléments/containers dans une fenêtre GTK
    Bonjour,

    J'ai développé un programme en Python 3 et GTK 3 qui affiche un libellé (label) et un zone de saisie.
    Pas de soucis.
    Mais à l'affichage tout est serré dans la fenêtre comme le montre cette copie d'écran.
    Nom : Capture1.png
Affichages : 93
Taille : 8,8 Ko
    J'aurai préféré quelque chose comme ça (c'est une maquette que j'ai faite à l'arrache).
    Nom : Capture2.png
Affichages : 83
Taille : 6,7 Ko
    Or je n'ai trouvé aucun paramètre qui me permette d'avoir le deuxième résultat en natif.
    1. J'ai bien joué sur un set_default_size(width=300, height=100) mais ça ne fait qu'agrandir la fenêtre

    1. J'ai aussi modifié le spacing de ma box mais ça ne joue que sur les interlignes

    1. Je n'ai pas trouvé de paramètre qui permettre d'éloigner mes libellés (label, entry, bouton) des bords de la fenêtre

    1. J'ai bien mis des labels à blanc mais ça ne joue que sur la verticale

    1. La seule façons que j'ai trouvée c'est de faire un grille et de mettre des espaces sur les premières et dernières ligne et colonnes (mon deuxième exemple)


    Ma question: n'y a-t-il pas une autre solution ?

    Merci de votre retour.
    Mon code grid
    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
    33
    34
    35
    36
    37
    38
    39
    import gi
     
    gi.require_version("Gtk", "3.0")
    from gi.repository import Gtk
     
     
    class GridWindow(Gtk.Window):
    	def __init__(self):
     
    		super().__init__(title="Grid Example")
     
    		null1 = Gtk.Label(label='     ')
    		null2 = Gtk.Label(label='     ')
    		null3 = Gtk.Label(label='     ')
    		null4 = Gtk.Label(label='     ')
    		null5 = Gtk.Label(label='     ')
    		null6 = Gtk.Label(label='     ')
    		label = Gtk.Label(label='Label')
    		entry = Gtk.Entry()
    		button = Gtk.Button(label='bouton')
     
    		grid = Gtk.Grid()
    		grid.attach(null1, 1, 0, 1, 1)
    		grid.attach(null2, 1, 2, 1, 1)
    		grid.attach(null3, 1, 4, 1, 1)
    		grid.attach(null4, 1, 6, 1, 1)
    		grid.attach(null5, 0, 0, 1, 7)
    		grid.attach(null6, 2, 0, 1, 7)
    		grid.attach(label, 1, 1, 1, 1)
    		grid.attach(entry, 1, 3, 1, 1)
    		grid.attach(button, 1, 5, 1, 1)
     
    		self.add(grid)
     
     
    win = GridWindow()
    win.connect("destroy", Gtk.main_quit)
    win.show_all()
    Gtk.main()

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Retraité de l'Informatique
    Inscrit en
    Août 2019
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité de l'Informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2019
    Messages : 37
    Points : 36
    Points
    36
    Par défaut
    Bonjour,

    Il suffisait de chercher au bon endroit, j'ai découvert la fonction qui va bien.
    Que ce soit une fenêtre ou un boîte, on peut déterminer son écart avec les bords.
    Ainsi, pour les bords de la fenêtre ou di widget on utilisera
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.vbox.set_border_width(10)
    et pour les interlignes ou intercolonnes ce sera
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.vbox=Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10)
    Voilà. Je mets à résolu.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/08/2015, 11h46
  2. Réponses: 8
    Dernier message: 16/06/2014, 17h12
  3. Zone de Dessin dans une fenêtre [GTK 3 & Cairo]
    Par Twice22 dans le forum GTK+ avec C & C++
    Réponses: 14
    Dernier message: 04/05/2013, 11h41
  4. Trapper les événements clavier dans une fenêtre
    Par NicoV dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 02/03/2008, 11h28
  5. [SQL] compter les éléments distincts dans une requête
    Par redwire dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/10/2006, 18h44

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