You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python制作的GUI的画布或文本控件中迭代打印计算结果

修正后的完整可运行代码

from tkinter import *

class application(Tk):
    def __init__(self,parent):
        Tk.__init__(self,parent)
        self.parent = parent
        self.minsize(width=300,height=500)
        self.initialize()
        
    def initialize(self):
        self.grid_columnconfigure(0,weight=1)
        self.grid_columnconfigure(1,weight=1)
        self.grid_columnconfigure(2,weight=1)
        
        # 按钮组件定义
        self.button1 = Button(self,text='平方运算',bg= 'blue',width=15,height=2, command = self.square_calculate)
        self.button1.grid(column=0,row=1,sticky='W',pady=5)
        
        self.button3 = Button(self,text='退出',bg= 'blue',width=10,height=2,command=self.destroy)
        self.button3.grid(column=1,row=5,sticky='W',pady=5)
        
        # 画布组件定义
        self.canvas = Canvas(self,width=230,height=180,state=NORMAL, bg='white')
        self.canvas.grid(column=0,row=4,sticky='W',padx=100,pady=10)
        
        # 标签组件定义
        self.label3 = Label(self,text="平方结果",bg = 'red',width=10,height=2,anchor="center")
        self.label3.grid(column=0,row=3,sticky='W',padx=120)

    # 平方计算及结果写入画布方法
    def square_calculate(self):
        # 先清空画布原有内容,避免多次点击结果叠加
        self.canvas.delete("all")
        # 逐行写入计算结果,调整y坐标实现换行
        for i in range(1,10):
            y_val = i**2
            res_text = f"{i} 的平方是 {y_val}"
            self.canvas.create_text(115, 20*i, text=res_text, font=('微软雅黑',10))
        
if __name__ == "__main__":
    app = application(None)
    app['bg']='red'
    app.title("平方计算工具")
    app.mainloop()

主要修改说明

  • 修正原代码的缩进错误,将画布、标签的定义归入initialize方法内部
  • 将平方计算方法移到类内部,修正按钮回调的绑定逻辑,避免调用参数错误
  • 新增点击按钮清空画布逻辑,避免多次点击后结果重叠
  • 调用画布的create_text方法将计算结果逐行渲染到画布上,调整坐标保证排版整齐
  • 删除原代码中未使用的冗余导入包,降低运行依赖
  • 界面文本统一改为中文显示,符合使用习惯

内容的提问来源于stack exchange,提问作者Kimwaga Makono

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 01:06:00