Информация о кнопке Tkinter

Я новичок, когда дело доходит до Python. и каждый день я усердно учусь, чтобы понять, как все работает.

Теперь мой вопрос заключается в следующем.

С Tkinter я хочу иметь возможность вернуть кнопку Tkinter. Так например.

Когда я нажимаю кнопку, кнопка остается нажатой, и я не могу получить доступ к каким-либо другим параметрам в моем приложении Tkinter, пока этот процесс не будет завершен.

Есть ли вообще многозадачность в приложении Tkinter?

Спасибо Любая информация была бы здорово :)


person enjoipython    schedule 07.02.2012    source источник
comment
Просто хочу убедиться, что я понимаю: вы хотите, чтобы приложение Tkinter останавливалось до тех пор, пока процесс, запущенный нажатием кнопки, не завершится?   -  person kevintodisco    schedule 07.02.2012
comment
Это близко к тому, что вы говорите ktodisco. Но я хочу, чтобы кнопка возвращалась, чтобы я мог также нажимать другие кнопки Tkinter, потому что, когда я нажимаю кнопку. Кнопка остается нажатой, а графический интерфейс останавливается до завершения следующего процесса. Есть ли способ нажать другие кнопки Tkinter, когда нажата другая кнопка Tkinter?   -  person enjoipython    schedule 07.02.2012
comment
Ах я вижу. Дайте мне секунду, я должен найти что-нибудь, и я опубликую ответ.   -  person kevintodisco    schedule 07.02.2012
comment
Большое вам спасибо, чувак :) Ваша такая помощь.   -  person enjoipython    schedule 07.02.2012


Ответы (3)


Я не верю, что в Tkinter встроена многопоточность или многопроцессорность, но в Python есть оба модуля многопроцессорности. и модуль многопоточности.

В вашем обратном вызове для кнопки Tkinter вы можете использовать один из этих модулей для создания нового процесса или потока, который будет выполняться независимо от вашего графического интерфейса, позволяя ему работать без перерыва.

Надеюсь это поможет :)

person kevintodisco    schedule 07.02.2012
comment
спасибо за помощь человеку. ты спасатель. спасибо за ваше время и терпение мой друг. Бог благословил. - person enjoipython; 07.02.2012
comment
@user1193746 user1193746: будьте осторожны - tkinter не является потокобезопасным. Вы можете получить доступ к объектам и методам GUI только из потока, в котором работает mainloop. В сети много ресурсов, посвященных этим вопросам. - person Bryan Oakley; 07.02.2012
comment
спасибо, чувак, имейте это в виду. спасибо за наводку чувак - person enjoipython; 11.02.2012

Вызов root.update()

Вы можете сделать это один раз в начале вашей функции, чтобы кнопка снова всплыла, или вы можете вызвать это в цикле внутри вашей функции (если он есть), чтобы программа не зависала.

person JSutton    schedule 02.08.2013

Вы можете создать переменную, которая изменит свое значение после запуска и завершения вашего процесса. Затем измените состояние кнопки на disabled и enabled в соответствии с изменением значения этой переменной. Если хочешь, я могу попытаться передать код.

person Mikhail T.    schedule 24.06.2016