私は呪いを使って簡単なGUIを作成しました。ただし、cursesメニューが終了すると、印刷機能はメインプログラムが終了するまで画面に何も印刷しません。
以下の例では、calc.pyを実行すると、foo(calcDirs)が実行された後、「Directorylistok」というテキストが画面に出力されます。行をコメントアウトするとfolderSelection.menu(dirs)
、テキストは通常どおり画面に印刷されます。何か案は?私はPython2.5を使用しています
calc.py:
import folderSelection
[...]
calcDirs=folderSelection.menu(dirs)
print "Directory list ok"
foo(calcDirs)
folderSelection.py:
import curses
def menu(folders):
global scr
scr = curses.initscr()
curses.noecho() # Do not echo keypresses
curses.cbreak() # No enter required
scr.keypad(1) # Support keypad
curses.curs_set(0) # Do not show the cursor
# Do some calculations
[...]
exitCurses()
return calcDirs
def exitCurses():
global scr
curses.nocbreak()
curses.curs_set(1)
scr.keypad(0)
curses.echo()
curses.endwin()
編集:プログラムが終了するまで、テキストは必然的に遅れるようです。30〜40秒遅れる場合があります。