2014-02-03 4 views
1

Я разработал программу с некоторыми простыми окнами Tkinter, например метку «Hello». Можно ли одновременно вводить и давать команды в Python Shell? Я попробовал, но Python Shell не появляется '>>>', чтобы давать команды, поэтому, когда я набираю и нажимаю Enter, курсор переходит к следующей строке, вместо того, чтобы запускать строку. Надеюсь, вы получите мою точку.одновременные команды Tkinter и Shell

ответ

1

Вы хотите увидеть открытое окно и выполнить команды за >>>.

Два решения я вижу:

  1. удалить xxx.mainloop() при выполнении его с Python Shell. Я сделал это так условно.

    import sys 
    if 'idlelib' not in sys.modules: 
        xxx.mainloop() 
    
  2. начало mainloop в другой теме. Вы не должны делать это в производственном коде, потому что Tkinter не является потокобезопасным.

    import threading 
    t = threading.Thread(target = xxx.mainloop) 
    t.start() 
    

Эти два решения я мог думать, потому что 1. не всегда может работать.

Смежные вопросы