我是Tkinter的新手,我只是想为我的多重性计算器制作一个GUI。当我告诉它打印多重性时,它给了我一个看似随机的数字串。有什么帮助吗?
import sys
import tkinter
from tkinter import *
def Start():
numberOneList = []
numberTwoList = []
multiples = 10000
iterations = 0
multiplicity = int(entry3.get())
numberOne = int(entry1.get())
numberTwo = int(entry2.get())
for i in range(multiples):
mNumberOne = numberOne * i
numberOneList.append(mNumberOne)
mNumberTwo = numberTwo * i
numberTwoList.append(mNumberTwo)
text1.insert(INSERT, "\n")
text1.insert(INSERT, "Common multiplicities:")
text1.insert(INSERT, "\n")
text1.insert(INSERT, "Calculating...")
text1.insert(INSERT, "\n")
for i in numberOneList:
for a in numberTwoList:
if a == i:
if a != 0:
text1.insert(INSERT, int(entry1.get()), "x", i / int(entry1.get()), "=", i)
text1.insert(INSERT, int(entry2.get()), "x", a / int(entry2.get()), "=", a)
text1.insert(INSERT, "\n")
iterations += 1
if iterations == multiplicity:
sys.exit()
else:
continue
else:
continue
else:
continue
master = tkinter.Tk()
master.title("Multiplicity Calculator")
text1 = Text(master)
text1.pack(side = BOTTOM)
label1 = Label(master, text = "Number 1: ")
label1.pack(side = LEFT)
entry1 = Entry(master, bd = 5, textvariable = IntVar())
entry1.pack(side = LEFT)
label2 = Label(master, text = "Number 2: ")
label2.pack(side = LEFT)
entry2 = Entry(master, bd = 5, textvariable = IntVar())
entry2.pack(side = LEFT)
label3 = Label(master, text = "Number of Multiplicities")
label3.pack(side = LEFT)
entry3 = Entry(master, bd = 5, textvariable = IntVar())
entry3.pack(side = LEFT)
button1 = Button(master, text = "Calculate", width = 8, command = Start)
button1.pack()
master.mainloop()
问题在于行
text1.insert(INSERT, int(entry1.get()), "x", i / int(entry1.get()), "=", i)
text1.insert(INSERT, int(entry2.get()), "x", a / int(entry2.get()), "=", a)
感谢您的帮助!
答案 0 :(得分:0)
不是使用逗号,而是将它们连接成一个参数。
text1.insert(INSERT, str(int(entry1.get())) + "x" + str(i / int(entry1.get())) + "=" + str(i))
您可以使用可选的第三个参数来附加插入方法 新插入文本的一个或多个标签
text.insert(INSERT, "link", ("a", "href"+href))