Как сделать так чтобы окно turtle не закрывалось

Добавил пользователь Алексей Ф.
Обновлено: 17.09.2024

Как остановить закрытие Python сразу при запуске в Microsoft Windows

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

Когда я запускаю свой файл .py (команда print ), он сразу же закрывается после появления. Я понимаю, почему он это делает - он получает выходные данные, поэтому он делает то, что ему нужно, - но я также понимаю, что вы можете предотвратить это.

Я осмотрел этот веб-сайт, и ни одно из решений данного вопроса не сработало, ни того, ни другого я не понял.

Есть ли простая команда, которую я могу ввести в свой редактор IDLE, которая переведет программу в режим ожидания или что-то в этом роде? Я пробовал input("prompt: ") , как это было предложено кем-то, и это не имело никакого значения.

Если для этого нет команды, есть ли способ изменить настройки на компьютере, чтобы программы не закрывались автоматически?

Как запускать программу python, чтоб окно гуи не закрывалось?

Добрый день.
питон 3.6 и виндовс
Как запускать программу python, чтоб окно гуи не закрывалось?
код содержит гуи на tkinter, если запускать двойным кликом - окно терминала появляется и сразу исчезает.
если запускать из CMD -
>python my_script.py - задумывается на секунду и отдает управление.
в отладчике IDLE все ок, окно программы не исчезает, ошибок нет.

  • Вопрос задан более трёх лет назад
  • 2193 просмотра

longclaps

Понятно, что ничего не понятно.
Выложи костяк программы - то, как ты виджет создаёшь-выводишь.

Вероятно при двойном клике по .py файлу, винда просто-напросто не знает что с ним делать. Сделать ему просто "запустить в терминале" недостаточно.

Скиньте код(если можно), а также по возможности объясните получше.

roman_green @roman_green Автор вопроса

isisTance: longclaps:
да любой самый простецкий код

если запустить код в IDLE - появится окно с надписью "test"
а как запустить не используя IDLE ?

Задержка окна консоли после выполнения кода

Есть код, который использует модули os, subprocess, вызывает cmd и пытается авторизоваться в сетевой папке с помощью системных команд винды.
Насколько правильно все сделано - я еще не проверял, но питон скрипт завершает без ошибок.
Я этот код скомпилировал в exe.
Как заставить эту упертую как осел консоль задержаться хотя бы на 3 секунды, чтобы успеть прочитать все что выпало в результате выполнения.
Перепробовал всякие варианты. Подгружал модуль time, пробовал input(), пробовал os.system("pause") - ничего не получается.
Хотя, есть другой скрипт скомпилированный в exe. так вот в нем все с помощью input() решается.
Может дело в коде.

Во вложении код скрипта на питоне, папка с файлами скомпилированной программы, код скрипта (setup), с помощью которого компилировал код в exe

Помощь в написании контрольных, курсовых и дипломных работ здесь.

94731 / 64177 / 26122 Ответы с готовыми решениями:

Задержать закрытие окна консоли после выполнения программы
Какой командой задержать экран C++ после выполнения программы, а то он сразу исчезает.



Задержка выполнения кода на время выполнения анимации
Пишу игру с видом пошагового боя. С каждым ходом, игрок выкладывает на доску новую фигуру.

Задержка выполнения кода в Unity
Подскажите пожалуйста, каким образом можно реализовать задержку выполнения кода. У меня есть.

win+r -> cmd -> cd dir/with/script -> scrypt.exe

Вставил команду в код питона, в строку №34 - добавил указанную выше команду в качестве аргумента subprocess.Popen, результат не изменился.

Если я правильно понял ex3me0 посоветовал, чтобы командная оболочка работала в той же папке, что и скрипт, но это не помогает.

elfimovsy, нет, я предложил запускать ваш exe-шник не кликом мыши в проводнике, а через консоль
в таком случае вы увидите вывод Вашей программы как вариант вставте в конце скрипта функцию ввода.
Punk_Joker, пробовали уже
в первом посте:
пробовал input(), 298 / 256 / 57 у самого была аналогичная проблема. Проблему решил, но увы решения не осталось. Возможно помогло использование raw_input() во втором питоне, и еще как вариант - попробуй другую программу для преобразования в exe. 52 / 51 / 15 Записей в блоге: 1 45 / 39 / 24

Наверно решение от ex3me0 самое правильное. Но предложу такой вариант с input()

Пример того когда комментарии к коду скорее вредны чем полезны

1. Комментарии должны быть лаконичны и обезличены (без "мы, нас, ему, нам" и т.п.);
2. Если нужно добавить блок с описанием какого то внешнего инструмента - то добавлять его нужно в конец листинга;
3. Комменты пишутся или ДО блока с кодом или ПОСЛЕ. Писать комменты справа (особенно длинные) - плохая привычка;
4. Переменные должны называться ОСМЫСЛЕННО и ПОНЯТНО, а не CN и SN,
например: server_name, net_folder, user_name, user_pass и т.п.

Всё это ОБЯЗАТЕЛЬНО нужно соблюдать чтобы следовать давно сформированным
правилам оформления кода. Вам самим будет его легче читать и другим кто будет с ним работать.
По тому как оформлен код можно сделать вывод о том как разработчик относится к работе в целом

И само собой не должно быть никаких ошибок и всяких жаргонных словечек типо "винда, тут мы кодим, консолька, юзверь и т.п.". Термины должны быть строго технические и общепринятые.

---
Если не требуется обработка нажатия клавиш, то самое простое решение:

Почему закрывается окно при нажатии Enter в файле *.exe?

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы ( 1 ) 94731 / 64177 / 26122 Ответы с готовыми решениями:

Программа закрывается при нажатии Enter
Работаю в Visual studio 2010 Exspress C++. Написал несколько простых программ. При запуске.

При нажатии на кнопку открывается новое окно, а предыдущее закрывается
Добрый день! Не могли помочь, как сделать так чтобы при нажатии на кнопку открывалось новое окно.



Почему вылетает программа при нажатии Enter?
Здравствуйте! Помогите, кто разбирается хорошо в ВАТ-анике )) Работает моя программа нормально.

Остановить python от закрытия по ошибке

в python при запуске скриптов есть ли способ остановить закрытие окна консоли после выплевывания обратной трассировки?

Если вы делаете это на ОС Windows, вы можете префикс целевой ярлык с:

это предотвратит закрытие окна при выходе команды.

автор: Chris Thornhill автор: Martin

вы можете зарегистрировать обработчик исключений верхнего уровня, который поддерживает приложение при возникновении необработанного исключения:

это особенно полезно, если у вас есть исключения, возникающие внутри обработчиков событий, которые вызываются из кода C, которые часто не распространяют ошибки.

автор: Torsten Marek

у вас может быть второй скрипт, который импортирует/запускает ваш основной код. Этот скрипт поймает все исключения и распечатает трассировку (затем дождитесь ввода пользователя перед завершением)

предполагая, что ваш код структурирован с помощью if __name__ == "__main__": main() идиома..

..и файл называется . myscriptname.py " (очевидно, что это можно изменить), следующее будет работать

(обратите внимание, что raw_input() был заменен на input() на Python 3)

если у вас нет main() функция, вы использовали бы положить оператор импорта в try: блок:

лучшим решением, не требующим дополнительных сценариев-оболочек, является запуск скрипта либо из IDLE, либо из командной строки..

в Windows выберите Пуск > Выполнить, введите cmd и введите. Затем введите что-то вроде..

(если вы установили Python в C:\Python\ )

на Linux / Mac OS X это немного проще, вы просто запустите cd /home/your/script/ затем python myscriptname.py

самый простой способ - использовать IDLE, запустить IDLE, открыть скрипт и нажать кнопку run ( F5 или Ctrl+F5 я думаю). При выходе скрипта окно не закроется автоматически, поэтому вы можете увидеть любые ошибки

также, как Крис Торнхилл предложил, в Windows, вы можете создать ярлык для вашего скрипта, и в его свойствах префикс цели с..

Python Turtle graphics-как управлять, когда окно закрывается?

у меня есть небольшой скрипт python, который рисует некоторые черепашьи графики. Когда мой скрипт закончит работу, экран черепахи автоматически закроется, поэтому, чтобы увидеть графику на некоторое время, я должен использовать time.sleep(5) в конце скрипта отложить закрытие.

есть ли способ сделать это более динамичным, то есть сказать python, что я хочу сам контролировать закрытие окна? Я не возражаю, если сценарий не может сделать ничего другого, ожидая моей команды, но я бы предпочитаю, если бы мне не пришлось идти к консоли для read() или что-то в этом роде. В идеале холст должен оставаться открытым даже после завершения работы скрипта, но я в порядке с решением, которое останавливает сценарий, пока я не закрою окно, в котором находится холст (или щелкните холст или что-то еще. ).

Как мне это сделать?

просто использовать done() или exitonclick() как последняя команда вашей программы turtle.

(edit: turtle.done() как предложено hua ниже, менее уродливо.)

просто используйте функцию mainloop (), импортированную из самого модуля turtle!.

Как избавиться от корневого окна Python Tkinter?

знаете ли вы умный способ скрыть или любым другим способом избавиться от корневого окна, которое появляется, открывается Tk() ? Я бы хотел использовать обычный диалог.

должен ли я пропустить диалог и поместить все мои компоненты в корневое окно? Это возможно или желательно? Или есть более разумное решение?

вероятно, подавляющее большинство приложений на основе tk помещают все компоненты в корневое окно по умолчанию. Это наиболее удобный способ сделать это, так как он уже существует. Выбор скрыть окно по умолчанию и создать свой собственный-это прекрасно, хотя это требует совсем немного дополнительной работы.

чтобы ответить на ваш конкретный вопрос о том, как это скрыть, используйте вывести метод корневого окна:

Если вы хотите сделайте окно видимым снова, вызовите правой кнопкой мышки (или wm_deiconify) метод.

как только вы закончите с диалогом, вы можете уничтожить корневое окно вместе со всеми другими виджетами tkinter с помощью уничтожить способ:

автор: Bryan Oakley

Я не тестировал, так как у меня нет среды Python/TKinter, но попробуйте это.

в pure Tk есть метод под названием " wm " для управления окнами. Там вы можете сделать что-то вроде "ВМ вывести .окно" где '.mywindow - это верхний уровень.

в TkInter вы должны быть в состоянии сделать что-то подобное:

Если вы хотите сделать окно снова видимым, называют правой кнопкой мышки (или wm_deiconify) метод.

Не закрываемое окно с использованием tkinter

Эй, я делаю программу, которая делает снимок с помощью моей веб-камеры, когда я набираю неправильный пароль. Программа будет открыта, и я хочу, чтобы она не закрывалась. Мне нужно знать, как сделать окно не закрываемым с помощью tkinter.

Adailton Júnior 11 Май 2015 в 02:02

2 ответа

Вы можете попробовать все то, что предложил @abarnert, но я думаю, что самый простой способ - просто игнорировать событие close.

(отредактированный код для Windows)

Поэтому измените on_closing() на
def on_closing (): передать
и это делает его не подлежащим закрытию. Я пробовал Alt + F4 , кнопку закрытия, закрывая ее с панели задач Windows, но все безрезультатно. Единственный способ убить его - использовать диспетчер задач.

IronManMark20 11 Май 2015 в 01:58

У Tkinter нет никакого способа сделать это напрямую. Но у него есть кое-что, что может быть достаточно хорошим, или это может быть слишком излишним: overrideredirect :

Если не ноль, это препятствует тому, чтобы оконный менеджер украсил окно. Другими словами, окно не будет иметь заголовка или границы, и его нельзя будет перемещать или закрывать обычными средствами.

Это не совсем актуально; на некоторых платформах он может иметь заголовок или границу . но он не будет закрываемым.

Это легко использовать: просто сделайте root.overrideredirect(True) (или, если вы хотите сделать это в другом окне Toplevel вместо своего корня, window.overrideredirect(True) ).

Но обратите внимание, что его нельзя переместить или закрыть , а не только то, что его нельзя закрыть. (Его также нельзя изменить, если вы этого хотите.)

Таким образом, единственное, что вы можете сделать, это установить флаг, а затем привязать события кнопки мыши, чтобы обрабатывать перемещение вручную. Например, в вашем окне __init__ метод:

Как предотвратить закрытие окна команды, когда программа завершает выполнение

Я сделал небольшую программу на Python (.py) и преобразовал ее в исполняемый файл Windows (.exe), используя Py2exe. Он запрашивает строку, а затем выводит строку - очень просто! - и работает безупречно в Python.

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

Как я могу предотвратить это? Я предполагаю, что мне нужно изменить свой код, но что именно мне нужно добавить к нему?

Вот мой код, на случай, если он поможет вам увидеть его (это оболочка для слов):

Tolga Yilmaz 8 Ноя 2012 в 05:17

3 ответа

Самый простой способ - использовать raw_input() непосредственно перед завершением вашей программы. Он будет ждать, пока вы не нажмете ввод, прежде чем закрыться.

grc 8 Ноя 2012 в 01:19

Вот что я использую в своих скриптах:

Иногда, однако, я просто использую следующее, чтобы окно оставалось открытым в течение короткого времени перед закрытием.

Читайте также: