Bonjour à tous,
Tout d'abord, je suis un newb en python, désolé si les questions ne sont pas d'un niveau très élevé.
J'ai commencé un projet avec une interface graphique avec Glade. Jusque là tout va bien et j'accède dans mon code à mes différent GTKEntry, GTKButton par leur nom :
(où builder = Gtk.Builder()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 builder.get_object("qty_1")
Par contre j'ai une liste de GTKEntry et GTKButton qui sont créés à la volée pendant l'exécution du programme, et ces objets là sont inaccessibles par la méthode décrite. Voilà comment je les créé :
Je suis un peu perdu. Dand le fichier glade je vois que le "name" est visible en tant que "id" mais je ne trouve pas de propriété "id" pour mes objets Gtk.
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 from gi.repository import Gtk, Gdk class monappli: def __init__(self): filename = "monelio.glade" global builder builder = Gtk.Builder() builder.add_from_file(filename) builder.connect_signals(self) ... entry1 = Gtk.Entry() entry1.set_width_chars(3) entry1.set_name("qty_" + str(x+1)) print entry1.get_name() # ce print fonctionne grid.attach_next_to(entry1, button2, Gtk.PositionType.RIGHT, 1, 1) # print builder.get_object("qty_" + str(x+1)).get_name() # ce print échoue avec NoneType object has no attribte get_name
Une idée ?
Merci beaucoup
xavier
Partager