Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: enjoipythonОтветов: 3

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

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

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

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

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

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

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

tkinter

Ответы

Ответ 1 · рейтинг 2 · kevintodisco

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

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

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

Ответ 2 · рейтинг 1 · JSutton

Вызов root.update()

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

Ответ 3 · Mikhail T.

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы