La plupart de ma programmation GUI a été faite en Java, où vous pourriez utiliser une méthode .pack() qui définirait la taille préférée de la fenêtre. J'apprends PyGTK maintenant et me demande si une telle chose existe dedans.PyGTK: Existe-t-il une méthode pour calculer la meilleure taille pour une fenêtre?
0
A
Répondre
0
Malheureusement ... pas que je sache. J'utilise l'astuce suivante qui utilise une variété de méthodes GTK et GDK pour calculer la taille de l'écran du moniteur actuel au démarrage de l'application et redimensionne la fenêtre racine pour avoir une certaine proportion de remplissage.
Notez que root
est un GtkWindow
. Vous pouvez, bien sûr, avoir deux valeurs pour SCREEN_FILL
pour le remplissage horizontal et vertical.
SCREEN_FILL = 0.7
class MainApp(object):
def set_initial_size(self):
screen = self.root.get_screen()
monitor = screen.get_monitor_at_window(self.root.get_window())
geom = screen.get_monitor_geometry(monitor)
self.root.set_resize_mode(gtk.RESIZE_QUEUE)
self.root.resize(
int(geom.width * SCREEN_FILL),
int(geom.height * SCREEN_FILL))
1
Vous n'avez pas besoin d'une méthode pack. Si vous ne définissez pas de taille, la fenêtre s'ajustera à sa taille minimum. Vous pouvez utiliser window.set_size_request (-1, -1) pour annuler la taille précédente.