2017-03-04 2 views
-1

プログラムを作成していますが、tkinter GUIが開いている間にプログラムを作成する必要があります。したがって、ウィンドウが開いている間、ユーザーはコマンドを入力できます。tkinterウィンドウが開かれている間は常にユーザー入力を要求する

どうすればいいですか?

ありがとうございます。

+1

あなたは、このプログラムはあなたが参照するか、コンソールにTKのメインループ – abccd

+0

内部で凍結されていることができませんか? – martineau

答えて

0

他のマルチスレッドプログラムと同様に、ワーカー(この場合はtkinter GUI)を新しいスレッドで開始します。ここでは例です:

import Tkinter as tk 
import threading 

class GUI(tk.Frame): 
    def __init__(self, master=None, *args, **kwargs): 
     tk.Frame.__init__(self, master, *args, **kwargs) 
     lbl=tk.Label(self, text='Tkinter program') 
     lbl.pack() 

class Worker(threading.Thread): 
    def run(self): 
     root = tk.Tk() 
     win = GUI(root) 
     win.pack() 
     root.mainloop() 

w = Worker() 
w.start() 
+0

これにより、ユーザーはコンソールに何かを入力することができますか? – martineau

+0

@martineauこれは、REPLから起動されたと仮定します(これは、OPが 'コンソール'を意味すると仮定します)、対話モード( '-i'フラグ)であれば、GUIを起動してREPLプロンプトに戻ります。 – Novel

関連する問題