以下のコードでは、OptionMenuとクリックしたときに機能を実行するボタンがあるGUIがあります。ドロップダウンリストから最初のオプションを選択し、ボタンをクリックすると、配列statements
の各項目がループします。Python forループですが、ループは実行されません
たとえば、ボタンの後ろにある機能をトリガーする(結果を生成してファイルの新しい行に書き込む)次の組み合わせが必要です。
- まずオプション - 最初の文
- まずオプション - 2番目のステートメント
- まずオプション -
その後3番目のステートメント2番目のオプションを選択すると、それは第1 /第2 /第3ループスルー再び意志でステートメント。
ボタンをクリックしたときにファイルに記録された結果が1つしかなく、結果が間違っているため、for-inループが間違った位置にある可能性があります(私の機能は文の類似点を計算して間違ったvar/stringを選ぶことができます)。そして、それは1回の実行の後で停止し、ループは起こらない。 、別にvar2
は(あなたの例でエラーが発生する)あなたのコードに存在しないという事実から
import sys
import tkinter
import SemanticSim
from tkinter import *
master = Tk()
a = IntVar()
var1 = StringVar(master)
var1.set("-- Choose One Option --") # initial value
var2 = StringVar(master)
x3 = StringVar()
x3.set("Click the button to get result...")
master.title("Graphical User Interface")
master.geometry("800x600")
########################################## METHODS ##############################################
def ButtonClickMethod():
a = var1.get() # get the text value of selected menu option
var1.set(a) # sets value to label when needed to, label needs to be set in specific manner
x1 = var1.get()
a = var2.get()
var2.set(a)
statements = ["First Statement", "Second Statement", "Third Statement"]
for statement in statements:
x2 = var2.get() # if I put `statement` in the bracket, I get this error: "TypeError: get() takes 1 positional argument but 2 were given"
x3.set(SemanticSim.SemanticSimilarity(x1, x2));
#############################################################################################
b3 = Button(master, text="Calculate Results", command=ButtonClickMethod)
b3.place(x=100, y=200)
label1 = Label(master, text="Choose One Option ")
label1.place(x=20, y=100)
option1 = OptionMenu(master, var1, "First Option", "Second Option", "Third Option")
option1.config(width=50)
option1.pack()
option1.place(x=200, y=100)
CaptionLabelResult1 = Label(master, text="Semantic Analysis Result: ")
CaptionLabelResult1.place(x=50, y=250)
LabelResult1 = Label(master, textvariable=x3)
LabelResult1.place(x=200, y=250)
mainloop()
「コメント」とはあなたは '陳述'を意味しましたか? – Holloway
あなたのコードは 'statements'の文字列で何もしていないようです。また、セミコロンは何ですか? PythonはJavaやCと似ていません。 –
'StringVar'sについてよく分かりませんが、' var2'が定義されていないようです - 'var1'を意味するのですか?何もするつもりはない。 – boboquack