Ocaml+labgtk - Pb avec les frames
Bonjour à tous,
Débutant dans le langage Ocaml, je dois réaliser une petite application en utilisant la librairie GTK.
Environnement : Ubuntu 7.1, Ocaml 3.09, GTK 2.
Evidemment je me suis basé sur les docs et tutos disponibles sur le net.
Mais j'ai un gros problème avec les frames: Les dimensions ne sont pas prises en compte.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
open GMain
let main () =
let fenetre = GWindow.window ~width:800 ~height:640 ~title:"Ma fenêtre"
() in
let cadre = GBin.frame
~border_width:35
~width:200
~height:50
~packing:fenetre#add() in
fenetre#show ();
Main.main ()
;;
main () |
border_width:35 est pris en compte, mais pas width:200 et height:50
J'ai beau retourner le problème dans tous les sens. Je ne comprends pas. Auriez-vous une idée ?
Merci d'avance,
pas de dimensions absolues en GTK
Je ne suis pas très expérimenté avec lablGTK, mais si j'ai bien interprété la documentation alors il est fort possible que:
- tu ne dois pas spécifier une largueur/hauteur en clair, tu spécifies une taille de fenêtre, puis tu y place des conteneurs dans lesquels tu place des widgets, ensuite c'est GTK qui calcule les largueurs/hauteurs appropriées
- la raison pour laquelle tu peux spécifier une largueur/hauteur c'est pour pouvoir éventuellement placer une contrainte de taille minimale sur ton containeur parent (ici une fenêtre), pas pour spécifier une dimension absolue, il n'y a pas de dimensions absolues en GTK, tout est soumis au layout