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 : 97
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 : 86
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()