首页 > 解决方案 > python中tkinter的输出

问题描述

我一直在 Tkinter 中制作算术进展程序,但我不知道如何从终端获取输出并显示在标签中。有没有办法做到这一点?

前端

import backend as bck
from tkinter import *

r=Tk()
r.geometry("500x250")
x=IntVar()
y=IntVar()
z=IntVar()
   
l1=Label(r, text="First Value")
l1.grid(row=0,column=0)

l2=Label(r, text="Razão")
l2.grid(row=0,column=2)

l3=Label(r, text="Number Of Therms")
l3.grid(row=2,column=2)
    #entries
e1=Entry(r,textvariable=x)
e1.grid(row=0,column=1)

e2=Entry(r,textvariable=y)
e2.grid(row=0,column=3)

e3=Entry(r,textvariable=z)
e3.grid(row=2,column=3)


list1=Listbox(r, height=10,width=25)
list1.grid(row=1,column=0,rowspan=6,columnspan=2)


   
b1=Button(r,text="Run",command=lambda :bck.add(x.get(),y.get(), z.get()))
b1.grid(row=3,column=3)
r.mainloop()

 

后端

def add(a, b, c):
    for c in range(a , (a + (c - 1) * b) + b, b):
        print(c, end=' ')

标签: pythontkinter

解决方案


我确实想在 Tkinter GUI 中显示终端结果

def on_run():
    list1.insert('end', bck.add(x.get(),y.get(), z.get()) + '\n')

b1=Button(r,text="Run",command=on_run)

...

# BACK END

def add(a, b, c):
    result = []
    for c in range(a , (a + (c - 1) * b) + b, b):
        print(c, end=' ')
        result.append(c)

    return ' '.join(result)

推荐阅读