New submission from Gregory HOULDSWORTH: Python version: 3.3.0 32bit OS: Windows 7 Service Pack 1 64bit
The peer_create method of the Text class, introduced in changeset <71041c0dedd5> in response to issue <2843> creates a tk text widget but does not instantiate Text. Because they don't exist as Python objects, we have to use tk.call() to manipulate them. This also breaks the nametowidget method used with Text's peer_names, again because these widgets don't exist in Python. Following the inheritance of Text in /Lib/tkinter/__init__.py:2039 Text > Widget > BaseWidget, where the actual widget creation occurs with a call to self.tk.call: self.tk.call( (widgetName, self._w) + extra + self._options(cnf)) We cannot smuggle in the tk command '.myoriginaltext peer create' as a tuple in place of the widgetName ('text') because we end up with the malformed argument: ((.myoriginaltext, 'peer', 'create'), .peer.path ...) The attached file is my second attempt, using subclassing. Lot of code duplication, ugly and not thoroughly tested: I'm hoping a more elegant solution can be found. ---------- components: Tkinter files: pythonlevelpeers.py messages: 188778 nosy: ghoul, gpolo priority: normal severity: normal status: open title: tkinter/Python 3.3.0: peer_create doesn't instantiate Text type: behavior versions: Python 3.3 Added file: http://bugs.python.org/file30183/pythonlevelpeers.py _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue17945> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com