2017-09-02 14 views
0

私は4つのpythonファイルに別々の機能を持つ小さなプロジェクトをビルドしています。しかし、main.pyファイルは、他のファイルをすべてインポートして使用します。2つ以上のpythonファイルに同じGUIを接続

今、私はmain.pyファイル内に構築しているこのプロジェクトのGUIを構築する必要があります。私の問題は、他のファイルのいくつかは、コンソールにprintという機能があり、プロジェクト全体が実行されているときにGUIでprintにそれらの機能を欲しいということです。では、メインファイルに作成されたTextフィールドに、他のファイルのテキストをどのように表示するのですか?

main.py

import second as s 
from tkinter import * 

def a(): 
    field.insert(END, "Hello this is main!") 

root = Tk() 
field = Text(root, width=70, height=5, bd=5, relief=FLAT) 
button1 = Button(root, width=20, text='Button-1', command=a) 
button2 = Button(root, width=20, text='Button-2', command=s.go) 
root.mainloop() 

second.py

def go(): 
    print("I want this to be printed on the GUI!") 
#... and a bunch of other functions... 

私は、ユーザーがボタン-2を押すと、その関数go()field上のテキストを印刷していることしたいです

答えて

1

私はそれを012を追加しようとする最良の方法だと考えています機能goの引数としてを指定します。ここで

は私のコードです:

main.py

import second as s 
from tkinter import * 

def a(field): 
    field.insert(END, "Hello this is main!\n") 

root = Tk() 

field = Text(root, width=70, height=5, bd=5, relief=FLAT) 
button1 = Button(root, width=20, text='Button-1', command=lambda : a(field)) 
button2 = Button(root, width=20, text='Button-2', command=lambda : s.go(field)) 

#to display widgets with pack 
field.pack() 
button1.pack() 
button2.pack() 

root.mainloop() 

second.py

from tkinter import * 


def go(field): 
    field.insert(END, "I want this to be printed on the GUI!\n") 
    print("I want this to be printed on the GUI!") 
    #something you want 

ランニングの効果のスクリーンショット:)

enter image description here

+0

Whoah!それはちょうどこれでしたか?どうもありがとう! –

関連する問題