petrushik, она вроде привязывается к контролу в окне. См. тут.
Тебе нужно найти не просто окно приложения, а тот элемент управления, в который ты хочешь отправить событие.
colcefer, бьёшь на строки через метод splitlines(). Дальше ищешь подходящую строку через contains(), startswith() или оператор in. Подробности в доках на строковой тип питона.
А чего ты ожидаешь в ответ? Параметра "сделать зашибись как быстро"?
Выясняй в чём дело - долгий пинг от пользователя до телеги? Долгий пинг от телеги до бота? Время обработки кнопки в боте? Находи узкое место, тогда уже что-то можно будет думать.
Телепаты все на карантине, так что подробности сообщай сам. Минимальный пример кода, позволяющий воспроизвести ошибку?
Если сообщение об ошибке, то какое?
Работает ли код с развёрнутым окном, или не работает вообще?
veehron, палишься. Кроме того, я написал, что надо исправить, если прочитаешь ниже.
А вообще с такими вопросами в гугл. Быстрее, и обидной правды услышишь меньше.
Hemul GM, у тебя нет строки вида указанного в ошибке, т.е.
> root.grid_columnconfigure(minsize=60)
В коде у тебя есть три строки вида
> root.grid_columnconfigure(0, minsize=60)
Что не то же самое. Так что перепроверь, что за файл ты запускаешь - или помести в вопрос актуальную версию кода и сообщения об ошибке.
Oleksandr Shengera, поищи как в питоне пишутся числа с плавающей точкой. (подсказка - разделитель не запятая).
А насчёт цикла - у тебя полная ерунда творится в btn_click2. Полнейшая.
Ты сначала её вызываешь как обработчик событий, потом её же, как поток.
Разбей её на две функции. Одна - обработчик события кнопки, показывает сообщение и запускает поток. Вторая - тело потока, делает что тебе нужно.
Для тех, кто не работал с vosk, что подразумевается под "созданием объекта с полноразмерной голосовой моделью"?
Обучение модели? Загрузка уже обученной модели? Или что?
Артур Samurai, смотря как принимаешь данные...
yield приостанавливает выполнение функции, пока вызвавший её код не запросит очередное значение.
Т.е. в таком формате будет работать:
for line in receive_client_data():
process_line(line)
maks_petrov9, ну так замени pass на вывод сведений об объекте error - что за тип, какое у него содержимое, и так далее.
Тогда хотя бы узнаешь, попадает ли управление внутрь rtest_error().
Тебе нужно найти не просто окно приложения, а тот элемент управления, в который ты хочешь отправить событие.