Bonjour
Je débute en ruby. J'ai eu quelques exercices à faire en mode console. Mais j'ai décidé en parallèle de les refaire ne mode graphique avec GTK pour apprendre GTK.
Mon exercice consiste à entrer 10 notes et à faire la moyenne de ces notes.
En Graphique j'ai pour l'instant representer ça de la maniere suivante :
Une hbox que j'ai appelé hb_partie_haute contient 3 autres hbox.
-La HBox note contient un label label_note qui contient simplement le texte" notes " et un entry qui permet de saisir une note.
_La deuxieme hbox que j'ai appelé hb_button contient simplement un bouton.
-La Troisieme hbox que j'ai appelé hb_liste contient un treeview d'une colonne qui est alimente par la note entre dans l'entry ,lorsque j'appuie sur le bouton.
Tout ça fonctionne sans probleme. Ma treeview s'alimente correctement. Le probleme c'est qu'au départ elle est toute petite et s'agrandit au fur et à mesure que je rentre les notes. Ce qui deformes toute la fenetre. Je voudrais savoir s'il est possible de fixer la taille de la treeview en hauteur pour qu'elle ne s'agrandisse pas(je choisirais une taille assez grande pour contenir 10 note et je limiterai par la suite le nombre d'ajout possible).
Voici le code. je suis desolé je débute c'est un peu brouillon :
merci d'avance
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 require 'gtk2' i=0 window = Gtk::Window.new() window.set_default_size(100,100) vb= Gtk::VBox.new(false,6) button=Gtk::Button.new('->') note=Gtk::Entry.new note.set_width_chars(5) label_note=Gtk::Label.new('notes') hb_partie_haute = Gtk::HBox.new(false,6) hb_note = Gtk::HBox.new(false,6) hb_note.pack_start(label_note,false,false,6) hb_note.pack_start(note,false,false,6) hb_button = Gtk::HBox.new(false,6) hb_button.pack_start(button,false,false,6) treestore = Gtk::TreeStore.new(String, String, Integer) button.signal_connect('clicked'){ i=i+1 parent = treestore.append(nil) parent[0]=note.text } view = Gtk::TreeView.new(treestore) view.selection.mode = Gtk::SELECTION_NONE # Create a renderer renderer = Gtk::CellRendererText.new col = Gtk::TreeViewColumn.new("notes", renderer,:text=>0) view.append_column(col) hb_liste = Gtk::HBox.new(false,6) hb_liste.pack_start(view,false,false,6) hb_partie_haute.pack_start(hb_note) hb_partie_haute.pack_start(hb_button) hb_partie_haute.pack_start(hb_liste) vb.pack_start(hb_partie_haute) window.signal_connect("delete_event") { Gtk.main_quit; exit! } window.add(vb) window.show_all Gtk.main![]()
Partager