Windows 11 (21H2)
Python 3.10.7
Здравствуйте, знатоки "Python"! Я в нем полный нуб. Только начинаю. Столкнулся с проблемой, гуглил, но так нигде не нашел решения. Я написал тестовую программу. В ней есть окно из "tkinter". На окне одно текстовое поле "entry" и один текст "label". При событии нажатия клавиш клавиатуры на текстовом поле вызывается функция, которая должна копировать введенный текст из поля "entry" и вставлять его в надпись "label". Также идет вывод "print" в консоль. Но проблема в том, что вывод и в "label", и в консоль почему-то запаздывает ровно на один шаг. Как будто текстовое поле "entry" не успевает обновиться! То есть, когда я ввожу "1", в консоль выводится пустое место. Когда я ввел уже "12", в консоль только выводится "1". Когда уже введено значение "123", в консоль приходит только еще "12". И так далее. В чем моя ошибка? Подскажите, пожалуйста! Очень надеюсь на вашу помощь!
Python 3.10.7
aiohttp 3.8.3
aiosignal 1.2.0
alabaster 0.7.12
anyio 3.6.1
argon2-cffi 21.3.0
argon2-cffi-bindings 21.2.0
arrow 1.2.3
astroid 2.12.10
asttokens 2.0.8
async-timeout 4.0.2
atomicwrites 1.4.1
attrs 22.1.0
autobahn 22.7.1
autopep8 1.6.0
Babel 2.10.3
backcall 0.2.0
bcrypt 4.0.0
beautifulsoup4 4.11.1
binaryornot 0.4.4
black 22.8.0
bleach 5.0.1
certifi 2022.9.24
cffi 1.15.1
chardet 5.0.0
charset-normalizer 2.1.1
click 8.1.3
cloudpickle 2.2.0
colorama 0.4.5
cookiecutter 2.1.1
cryptography 38.0.1
customtkinter 4.5.10
darkdetect 0.7.1
debugpy 1.6.3
decorator 5.1.1
defusedxml 0.7.1
diff-match-patch 20200713
dill 0.3.5.1
docutils 0.19
easygui 0.98.3
entrypoints 0.4
executing 1.0.0
fastjsonschema 2.16.2
flake8 4.0.1
frozenlist 1.3.1
hyperlink 21.0.0
idna 3.4
imagesize 1.4.1
inflection 0.5.1
intervaltree 3.1.0
ipykernel 6.15.3
ipython 7.34.0
ipython-genutils 0.2.0
ipywidgets 8.0.2
isort 5.10.1
jaraco.classes 3.2.2
jedi 0.18.1
jellyfish 0.9.0
Jinja2 3.1.2
jinja2-time 0.2.0
jsonschema 4.16.0
jupyter 1.0.0
jupyter_client 7.3.5
jupyter-console 6.4.4
jupyter-core 4.11.1
jupyter-server 1.18.1
jupyter-server-proxy 3.2.2
jupyterlab-pygments 0.2.2
jupyterlab-widgets 3.0.3
keyring 23.9.3
lazy-object-proxy 1.7.1
lxml 4.9.1
MarkupSafe 2.1.1
matplotlib-inline 0.1.6
mccabe 0.6.1
mistune 2.0.4
more-itertools 8.14.0
multidict 6.0.2
mypy-extensions 0.4.3
nbclient 0.6.8
nbconvert 7.0.0
nbformat 5.6.0
nest-asyncio 1.5.5
notebook 6.4.12
numpy 1.23.3
numpydoc 1.4.0
packaging 21.3
pandocfilters 1.5.0
paramiko 2.11.0
parso 0.8.3
pathspec 0.10.1
pexpect 4.8.0
pickleshare 0.7.5
Pillow 9.2.0
pip 22.3
platformdirs 2.5.2
pluggy 1.0.0
prometheus-client 0.14.1
prompt-toolkit 3.0.31
psutil 5.9.2
ptyprocess 0.7.0
pure-eval 0.2.2
pycodestyle 2.8.0
pycparser 2.21
pydocstyle 6.1.1
pyflakes 2.4.0
Pygments 2.13.0
pylint 2.15.3
pyls-spyder 0.4.0
PyNaCl 1.5.0
pyparsing 3.0.9
PyQt5 5.15.7
PyQt5-Qt5 5.15.2
PyQt5-sip 12.11.0
PyQtWebEngine 5.15.6
PyQtWebEngine-Qt5 5.15.2
pyrsistent 0.18.1
python-dateutil 2.8.2
python-lsp-black 1.2.1
python-lsp-jsonrpc 1.0.0
python-lsp-server 1.5.0
python-slugify 6.1.2
pytoolconfig 1.2.2
pytz 2022.2.1
pywin32 304
pywin32-ctypes 0.2.0
pywinpty 2.0.8
PyYAML 6.0
pyzmq 24.0.1
QDarkStyle 3.0.3
qstylizer 0.2.2
QtAwesome 1.1.1
qtconsole 5.3.2
QtPy 2.2.0
requests 2.28.1
rope 1.3.0
Rtree 1.0.0
Send2Trash 1.8.0
setuptools 63.2.0
simpervisor 0.4
six 1.16.0
sniffio 1.3.0
snowballstemmer 2.2.0
sortedcontainers 2.4.0
soupsieve 2.3.2.post1
Sphinx 5.2.0.post0
sphinxcontrib-applehelp 1.0.2
sphinxcontrib-devhelp 1.0.2
sphinxcontrib-htmlhelp 2.0.0
sphinxcontrib-jsmath 1.0.1
sphinxcontrib-qthelp 1.0.3
sphinxcontrib-serializinghtml 1.1.5
spyder 5.3.3
spyder-kernels 2.3.3
stack-data 0.5.0
terminado 0.15.0
text-unidecode 1.3
textdistance 4.5.0
three-merge 0.1.1
tinycss2 1.1.1
toml 0.10.2
tomli 2.0.1
tomlkit 0.11.4
tornado 6.2
traitlets 5.4.0
txaio 22.2.1
ujson 5.5.0
urllib3 1.26.12
vpython 7.6.4
watchdog 2.1.9
wcwidth 0.2.5
webencodings 0.5.1
websocket-client 1.4.1
whatthepatch 1.0.2
widgetsnbextension 4.0.3
wrapt 1.14.1
yapf 0.32.0
yarl 1.8.1
aiosignal 1.2.0
alabaster 0.7.12
anyio 3.6.1
argon2-cffi 21.3.0
argon2-cffi-bindings 21.2.0
arrow 1.2.3
astroid 2.12.10
asttokens 2.0.8
async-timeout 4.0.2
atomicwrites 1.4.1
attrs 22.1.0
autobahn 22.7.1
autopep8 1.6.0
Babel 2.10.3
backcall 0.2.0
bcrypt 4.0.0
beautifulsoup4 4.11.1
binaryornot 0.4.4
black 22.8.0
bleach 5.0.1
certifi 2022.9.24
cffi 1.15.1
chardet 5.0.0
charset-normalizer 2.1.1
click 8.1.3
cloudpickle 2.2.0
colorama 0.4.5
cookiecutter 2.1.1
cryptography 38.0.1
customtkinter 4.5.10
darkdetect 0.7.1
debugpy 1.6.3
decorator 5.1.1
defusedxml 0.7.1
diff-match-patch 20200713
dill 0.3.5.1
docutils 0.19
easygui 0.98.3
entrypoints 0.4
executing 1.0.0
fastjsonschema 2.16.2
flake8 4.0.1
frozenlist 1.3.1
hyperlink 21.0.0
idna 3.4
imagesize 1.4.1
inflection 0.5.1
intervaltree 3.1.0
ipykernel 6.15.3
ipython 7.34.0
ipython-genutils 0.2.0
ipywidgets 8.0.2
isort 5.10.1
jaraco.classes 3.2.2
jedi 0.18.1
jellyfish 0.9.0
Jinja2 3.1.2
jinja2-time 0.2.0
jsonschema 4.16.0
jupyter 1.0.0
jupyter_client 7.3.5
jupyter-console 6.4.4
jupyter-core 4.11.1
jupyter-server 1.18.1
jupyter-server-proxy 3.2.2
jupyterlab-pygments 0.2.2
jupyterlab-widgets 3.0.3
keyring 23.9.3
lazy-object-proxy 1.7.1
lxml 4.9.1
MarkupSafe 2.1.1
matplotlib-inline 0.1.6
mccabe 0.6.1
mistune 2.0.4
more-itertools 8.14.0
multidict 6.0.2
mypy-extensions 0.4.3
nbclient 0.6.8
nbconvert 7.0.0
nbformat 5.6.0
nest-asyncio 1.5.5
notebook 6.4.12
numpy 1.23.3
numpydoc 1.4.0
packaging 21.3
pandocfilters 1.5.0
paramiko 2.11.0
parso 0.8.3
pathspec 0.10.1
pexpect 4.8.0
pickleshare 0.7.5
Pillow 9.2.0
pip 22.3
platformdirs 2.5.2
pluggy 1.0.0
prometheus-client 0.14.1
prompt-toolkit 3.0.31
psutil 5.9.2
ptyprocess 0.7.0
pure-eval 0.2.2
pycodestyle 2.8.0
pycparser 2.21
pydocstyle 6.1.1
pyflakes 2.4.0
Pygments 2.13.0
pylint 2.15.3
pyls-spyder 0.4.0
PyNaCl 1.5.0
pyparsing 3.0.9
PyQt5 5.15.7
PyQt5-Qt5 5.15.2
PyQt5-sip 12.11.0
PyQtWebEngine 5.15.6
PyQtWebEngine-Qt5 5.15.2
pyrsistent 0.18.1
python-dateutil 2.8.2
python-lsp-black 1.2.1
python-lsp-jsonrpc 1.0.0
python-lsp-server 1.5.0
python-slugify 6.1.2
pytoolconfig 1.2.2
pytz 2022.2.1
pywin32 304
pywin32-ctypes 0.2.0
pywinpty 2.0.8
PyYAML 6.0
pyzmq 24.0.1
QDarkStyle 3.0.3
qstylizer 0.2.2
QtAwesome 1.1.1
qtconsole 5.3.2
QtPy 2.2.0
requests 2.28.1
rope 1.3.0
Rtree 1.0.0
Send2Trash 1.8.0
setuptools 63.2.0
simpervisor 0.4
six 1.16.0
sniffio 1.3.0
snowballstemmer 2.2.0
sortedcontainers 2.4.0
soupsieve 2.3.2.post1
Sphinx 5.2.0.post0
sphinxcontrib-applehelp 1.0.2
sphinxcontrib-devhelp 1.0.2
sphinxcontrib-htmlhelp 2.0.0
sphinxcontrib-jsmath 1.0.1
sphinxcontrib-qthelp 1.0.3
sphinxcontrib-serializinghtml 1.1.5
spyder 5.3.3
spyder-kernels 2.3.3
stack-data 0.5.0
terminado 0.15.0
text-unidecode 1.3
textdistance 4.5.0
three-merge 0.1.1
tinycss2 1.1.1
toml 0.10.2
tomli 2.0.1
tomlkit 0.11.4
tornado 6.2
traitlets 5.4.0
txaio 22.2.1
ujson 5.5.0
urllib3 1.26.12
vpython 7.6.4
watchdog 2.1.9
wcwidth 0.2.5
webencodings 0.5.1
websocket-client 1.4.1
whatthepatch 1.0.2
widgetsnbextension 4.0.3
wrapt 1.14.1
yapf 0.32.0
yarl 1.8.1
Здравствуйте, знатоки "Python"! Я в нем полный нуб. Только начинаю. Столкнулся с проблемой, гуглил, но так нигде не нашел решения. Я написал тестовую программу. В ней есть окно из "tkinter". На окне одно текстовое поле "entry" и один текст "label". При событии нажатия клавиш клавиатуры на текстовом поле вызывается функция, которая должна копировать введенный текст из поля "entry" и вставлять его в надпись "label". Также идет вывод "print" в консоль. Но проблема в том, что вывод и в "label", и в консоль почему-то запаздывает ровно на один шаг. Как будто текстовое поле "entry" не успевает обновиться! То есть, когда я ввожу "1", в консоль выводится пустое место. Когда я ввел уже "12", в консоль только выводится "1". Когда уже введено значение "123", в консоль приходит только еще "12". И так далее. В чем моя ошибка? Подскажите, пожалуйста! Очень надеюсь на вашу помощь!
Python:
from tkinter import *
root = Tk()
root.title("Timer")
root.geometry("-600-300")
root.configure(bg='#CECECE')
root.lift()
root.wm_attributes("-topmost", True)
root.resizable(False, False)
def clear_hours(event):
if hour_entry.get() == '00':
hour_entry.delete(0, END)
def check_hours(event):
# ЗДЕСЬ ПРОБЛЕМА!
a = hour_entry.get()
print(a)
var.set(hour_entry.get())
# ЗДЕСЬ ПРОБЛЕМА!
hour=StringVar()
hour.set("00")
hour_entry = Entry(textvariable=hour,
font=("Arial Bold", 14, 'bold'),
justify=CENTER,
width=10)
hour_entry.grid(row=0, column=0)
var = StringVar()
var.set("Test")
lb = Label(master=root,
font=("Arial Bold", 14),
bd=4,
padx=10,
pady=10,
relief=FLAT,
textvariable = var)
lb.grid(row=1, column=0)
hour_entry.bind('<Button-1>', clear_hours)
hour_entry.bind('<KeyPress>', check_hours)
root.mainloop()
Последнее редактирование: