私は最初のPython Tkinter GUIで遊んできました。 あなたの下に私が作ったスクリプトがあります。正直言って、私はそれを行う方法を見つけるためにインターネット上で見てきました。Tkinter:2つのウィンドウをマージする
スクリプトを実行すると、2つの別々のウィンドウが表示されます。 1つのウィンドウで、この「ウィンドウA」を、テキストボックスと入力ボックスと1つの空のウィンドウで呼び出すと、この「ウィンドウB」と呼ぶことができます。
「ウィンドウA」で「実行」をクリックすると、phytonスクリプト(この場合はtennisMatchProbability.py)がトリガーされ、そのスクリプト(tennisMatchProbability.py)の結果が「ウィンドウB」に表示されます。
これは「tennisMatchProbability.py」の出力です。
Server Game = 0.735729230769
Receiver Game= 0.264270769231
Tiebreak = 0.337026817252
Server Set = 0.205146215901
Receiver Set= 0.794853784099
Match Server= 0.108987765053
Match Receiver= 0.891012234947
私が達成したいのは、両方のウィンドウが1つのウィンドウに統合されていることです。
私は考えることができるすべてを試みてきましたが、それを理解することはできません。
from Tkinter import *
import sys
sys.path.append("C:\Users\Magali\Desktop\Tennis\tennisMatchProbability.py")
class App(Frame):
def run_script(self):
sys.stdout = self
try:
del(sys.modules["tennisMatchProbability"])
except:
## Yeah, it's a real ugly solution...
pass
import tennisMatchProbability
tennisMatchProbability.matchProb()
sys.stdout = sys.__stdout__
def build_widgets(self):
self.text1 = Text(self)
self.text1.pack(side=TOP)
master = Tk()
Label(master, text="First Name").grid(row=0)
Label(master, text="Last Name").grid(row=1)
Label(master, text="Game Score").grid(row=2)
Label(master, text="Set Score").grid(row=3)
e1 = Entry(master)
e2 = Entry(master)
e3 = Entry(master)
e4 = Entry(master)
e1.delete(0,END)
e2.delete(0,END)
e3.delete(0,END)
e4.delete(0,END)
e1.insert(10,"Novak")
e2.insert(10,"Djokovic")
e3.insert(10,"30-15")
e4.insert(10,"3-1")
e1.grid(row=0, column=1)
e2.grid(row=1, column=1)
e3.grid(row=2, column=1)
e4.grid(row=3, column=1)
Button(master, text='Run', command=self.run_script).grid(row=4, column=1, sticky=W, pady=4)
def write(self, txt):
self.text1.insert(INSERT, txt)
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.build_widgets()
root = Tk()
app = App(master = root)
app.mainloop()
私はあなたがまたする必要が – Wouter
...「(マスター= TK)を、すべての変更 『削除自己』にenteries 『マスター』。しかし、私はそれを実行したときに、今 『CMDが『ハング』さ』しましたself.text1の部分を削除するか、パックをgridに変更します。また、__init__のマスターエントリを変更しないでください。 – Jannick