尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

TK: 计算三角形的面积

TK: 计算三角形的面积
📅 发布时间:2026/6/20 17:47:52

TK代码,将textvariable绑定,改为直接使用text属性设置。以下是修改后的代码,关键改动已用注释标出:

TK

import tkinter as tk
import tkinter.ttk as ttk
import tkinter.messagebox as msgbox  # 添加缺失的导入class app(tk.Frame):def __init__(self):self.root = tk.Tk()super().__init__(self.root)self.root.geometry('300x224')self.root.title('计算三角形的面积')self.create_widgets()self.mainloop()def create_widgets(self):# 底边输入区域self.label1 = tk.Label(text='底', font=('Segoe UI', 9), anchor='w')self.label1.place(x=40, y=24, width=80, height=24)self.entry1 = tk.Entry(font=('Segoe UI', 9))self.entry1.place(x=88, y=24, width=80, height=24)self.entry1.insert(0, '11')  # 设置初始值# 高度输入区域self.label2 = tk.Label(text='高', font=('Segoe UI', 9), anchor='w')self.label2.place(x=40, y=72, width=80, height=24)self.entry2 = tk.Entry(font=('Segoe UI', 9))self.entry2.place(x=88, y=72, width=80, height=24)# 直接设置text属性self.entry2.insert(0, '')  # 初始为空# 结果显示区域self.label3 = tk.Label(text='面积:', font=('Segoe UI', 9), anchor='w')self.label3.place(x=40, y=120, width=224, height=24)# 按钮区域self.button1 = tk.Button(text='计算',font=('Segoe UI', 9),command=self.button1_Command)self.button1.place(x=24, y=176, width=80, height=24)self.button2 = tk.Button(text='清空',font=('Segoe UI', 9),command=self.button2_Command)self.button2.place(x=112, y=176, width=80, height=24)self.button3 = tk.Button(text='退出',font=('Segoe UI', 9),command=self.button3_Command)self.button3.place(x=200, y=176, width=80, height=24)def button1_Command(self):"""计算三角形面积"""try:# 直接从Entry获取文本值base = float(self.entry1.get())height = float(self.entry2.get())area = 0.5 * base * heightself.label3.config(text=f'面积:{area:.2f}')except ValueError:msgbox.showerror("输入错误", "请输入有效的数字")def button2_Command(self):"""清空输入和结果"""# 直接操作Entry组件清空内容self.entry1.delete(0, tk.END)self.entry2.delete(0, tk.END)self.label3.config(text='面积:')def button3_Command(self):"""退出程序"""self.root.destroy()
app()

主要修改点说明:

  1. 移除所有StringVar变量:
    • 删除了self.entry1_value和self.entry2_value的定义
    • 删除了所有textvariable属性绑定
  2. 直接使用text属性设置初始值:
    • 使用entry.insert(0, '初始值')替代StringVar.set()
    • 使用entry.get()替代StringVar.get()
  3. 调整清空逻辑:
    • 使用entry.delete(0, tk.END)替代StringVar.set('')
    • 直接操作组件而不是通过中间变量
  4. 修复导入问题:
    • 添加了缺失的tkinter.messagebox导入
  5. 代码结构优化:
    • 简化了组件创建时的参数传递
    • 使用更紧凑的语法结构
    • 保持所有原有功能不变
      这种修改方式完全移除了Tkinter变量绑定机制,直接通过组件方法操作界面元素。虽然失去了自动双向绑定的优势,但代码更直接简单,适合小型应用。对于需要频繁数据绑定的复杂应用,建议保留textvariable机制。

相关新闻

  • SAT 辅导机构怎么选?2025 年高性价比机构测评指南(附避坑攻略) - 品牌测评鉴赏家
  • SAT 辅导机构怎么选?2025 年高性价比机构测评与避坑指南(附收费标准与选课攻略) - 品牌测评鉴赏家
  • 2025年铁路地铁电力电缆生产厂家推荐:中低压、低压、中压、变频、聚乙烯绝缘电缆厂家精选指南 - 品牌2026

最新新闻

  • DNSControl + Debian 10:用Go实现声明式DNS管理
  • FreeBSD深度解析:Linux老手必知的POSIX兼容性与系统哲学差异
  • 双曲共嵌入框架在字体与印象标签关联中的应用
  • 挑小户型功能沙发和全屋软体家具,分享我对比过的靠谱品牌 - 深圳市民HLL
  • DAPI共识算法在微电网多级储能协调控制中的应用与实践
  • 构建韧性信息物理系统:从安全验证到状态估计与协同恢复

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号