• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python tkinter 获得按钮的文本值

    背景

    最近本菜鸡在学习 python GUI,从 tkinter 入门,想先做个小软件练习一下
    思来想去,决定做一个 计算器
    计算器代码在这里,传送门

    问题重现

    但直接使用循环创建数字按钮时遇到了问题,问题代码如下

    for i in range(3):
        num_frame = tk.Frame(major_frame)
        num_frame.pack()
        for count in range(3*i+1, 3*i+4):
            button = tk.Button(
                num_frame,
                text = count,
                activeforeground = "blue",
                activebackground = "pink",
                width = "13",
                command = lambda : entry.insert("end", count)
            )
            button.grid(row = i, column = count)
    

    全部代码见
    每当点击按钮时,输入框中出现的永远是 9,因为,循环结束后 count 的值就变成了 9,点击按钮在输入框中输入 count 的值就是 9
    找到问题后,我便想办法解决这个问题
    我尝试过 将每一个实例化的 Button 对象存入列表或字典,但还是无法获得正确的索引,也就无法获得按钮上的文本

    解决方法

    通过强大的百度,我找到了解决方法,那就是 — 自己创建一个 Button 类

    代码如下

    import tkinter
    class myButton():
        def __init__(self, frame, text, entry, **kwargs):
            side = kwargs.get('side') if 'side' in kwargs else ()
            self.btn = tkinter.Button(
                frame,
                text = text,
                activeforeground="blue",
                activebackground="pink",
                width="13",
                command=lambda :entry.insert("end", text)
            )
            if side:
                self.btn.grid(row=side[0], column=side[1])
            else:
                self.btn.pack()

    参数讲解

    通过实例化一个 myButton 对象即可创建出一个能获得按钮文本的 Button 对象

    列举数字按钮

    for i in range(4):
        num_frame = tk.Frame(major_frame)
        num_frame.pack()
        if i  3:
            for count in range(3*i+1, 3*i+4):
                myButton(num_frame, count, word_entry, side=(i, count))
            continue
        myButton(num_frame, 0, word_entry, side=(i, 0))
    

     效果图

     

    到此这篇关于python tkinter 获得按钮的文本值的文章就介绍到这了,更多相关python tkinter 按钮文本值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • python基于tkinter点击按钮实现图片的切换
    • 在python tkinter界面中添加按钮的实例
    • Python tkinter布局与按钮间距设置方式
    • Python的Tkinter点击按钮触发事件的例子
    • Python 窗体(tkinter)按钮 位置实例
    • python3 tkinter实现点击一个按钮跳出另一个窗口的方法
    • python-tkinter之按钮的使用,开关方法
    • Python3.8 + Tkinter: Button设置image属性不显示的问题
    上一篇:pytorch实现多项式回归
    下一篇:pytorch实现线性回归
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python tkinter 获得按钮的文本值 python,tkinter,获得,按钮,的,