steve wrote: > Il 17/01/19 14:08, Peter Otten ha scritto: > >> Two remarks: >> >>> self.id1_entry = self.make_entry(self.parent, maxlen=1).pack() >> >> You set all idX_entry attributes to None, as that's what pack() returns. > > you mean.. > > self.idx_entry = self.make_entry(self.parent, width=50, maxlen=30, > highlightcolor='blue', validate='key') ? > > or > > self.idx_entry.pack() ? > > I did not understand :-D
Both. This > self.id1_entry = self.make_entry(self.parent, maxlen=1).pack() will assign None to self.id1_entry. You need two steps self.id1_entry = self.make_entry(...) # create widget self.id1_entry.pack() # layout widget Alternatives: - If you know that you'll always just call pack() you can change the make_entry() method accordingly def make_entry(...): ... entry.pack() return entry - Write a helper function def pack(widget): widget.pack() return widget and then use it self.id1_entry = pack(self.make_entry(...)) # create and layout widget -- https://mail.python.org/mailman/listinfo/python-list