This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2010年10月31日 02:10 by iarspider, last changed 2022年04月11日 14:57 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| Project5.py | iarspider, 2010年10月31日 02:10 | Code to reproduce problem | ||
| Project5_3k.py | bruno.dupuis, 2012年11月30日 13:34 | updated to 3k, added traces. | ||
| Messages (9) | |||
|---|---|---|---|
| msg120030 - (view) | Author: Ivan Razumov (iarspider) | Date: 2010年10月31日 02:10 | |
OS: Windows 7 x86 Python: 2.6.4 An Entry with both Font and Foreground properties changed (i.e. not OS-default) does not display text set with textvariable.set method. Attached an example of such behavior. |
|||
| msg120031 - (view) | Author: Ivan Razumov (iarspider) | Date: 2010年10月31日 02:34 | |
The bug only appears if "Align" is not "Left". |
|||
| msg120032 - (view) | Author: Ivan Razumov (iarspider) | Date: 2010年10月31日 02:34 | |
Typo: align -> Justify |
|||
| msg120151 - (view) | Author: Ivan Razumov (iarspider) | Date: 2010年11月01日 18:23 | |
The bug doesn't seem to be Windows-specific - tested on Ubuntu 10.10 (Python 2.6.6) |
|||
| msg176685 - (view) | Author: Bruno Dupuis (bruno.dupuis) | Date: 2012年11月30日 13:34 | |
I updated the script to 3k. Now the behaviour is very odd : Python 2.7: works only if `justify="right"` is commented out. Python 3.3: Shroedinger-like behaviour (sometimes dead, sometimes alive, nobody knows before we check) whith `justify="right"` Looks like some kind of race-condition or something, so this results may only be relevant on my hardware (2 yo low-end PC). I'm not a tkinter expert, so even if the app code looks good I need someone that knows tk to double-check if there is some oddities in the script before we go further. |
|||
| msg176689 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) | Date: 2012年11月30日 14:49 | |
I confirm this. The bug appears sporadically on 3.x. When the entry displays text, self.entry1['textvariable'] is 'PY_VAR0'. When it does not, self.entry1['textvariable'] is '0' (actually the value of "text" parameter). The bug is due to the fact that option "text" is applied after the option "textvariable". Due to string hash randomization it occurs in 50% on 3.3+ (and always or never on default 2.7, depending on other options used in this call). For work around this bug you should not use both "text" and "textvariable" keyword or dict parameters in one call. Probably it is worth to mention in the documentation (unfortunately the Tkinter documentation is almost non-existent). |
|||
| msg176690 - (view) | Author: Guilherme Polo (gpolo) * (Python committer) | Date: 2012年11月30日 16:01 | |
Calm down for a moment. This is just incorrect usage of Entry. There is no "text" parameter documented for this class (see its docstring, for a quick reference on that). Also, there is a lot of Tkinter documentation, the official one at can be found at http://docs.python.org/2/library/tkinter.html, which includes links for further documentation. This is actually unrelated to string hash randomization, it is only barely related to the unordered nature of the hash implementation. What actually happens is that the tk lib usually accepts abbreviations of parameter names. So specifying "text" and "textvariable" is the same for tk. |
|||
| msg176699 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) | Date: 2012年11月30日 18:15 | |
> So specifying "text" and "textvariable" is the same for tk. Thanks for clarifying. |
|||
| msg176707 - (view) | Author: Bruno Dupuis (bruno.dupuis) | Date: 2012年11月30日 19:51 | |
Thank you for the review, Guilherme. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:08 | admin | set | github: 54468 |
| 2012年11月30日 19:51:19 | bruno.dupuis | set | messages: + msg176707 |
| 2012年11月30日 18:15:41 | serhiy.storchaka | set | messages: + msg176699 |
| 2012年11月30日 16:01:00 | gpolo | set | status: open -> closed resolution: not a bug messages: + msg176690 |
| 2012年11月30日 14:50:15 | serhiy.storchaka | set | components: + Tkinter |
| 2012年11月30日 14:49:49 | serhiy.storchaka | set | assignee: docs@python type: behavior -> enhancement components: + Documentation, - Tkinter nosy: + docs@python, serhiy.storchaka messages: + msg176689 stage: needs patch |
| 2012年11月30日 13:34:46 | bruno.dupuis | set | files:
+ Project5_3k.py versions: + Python 2.7, Python 3.2, Python 3.3, Python 3.4, - Python 2.6 nosy: + gpolo, bruno.dupuis messages: + msg176685 |
| 2010年11月01日 18:23:03 | iarspider | set | messages: + msg120151 |
| 2010年10月31日 02:34:41 | iarspider | set | messages: + msg120032 |
| 2010年10月31日 02:34:30 | iarspider | set | title: Entry text not set if all of 'Font', 'Foreground' and 'Align' are set -> Entry text not set if all of 'Font', 'Foreground' and 'Justify' are set |
| 2010年10月31日 02:34:08 | iarspider | set | messages: + msg120031 |
| 2010年10月31日 02:33:00 | iarspider | set | title: Entry text not set if both 'Font' and 'fg' are set -> Entry text not set if all of 'Font', 'Foreground' and 'Align' are set |
| 2010年10月31日 02:10:54 | iarspider | create | |