Tkinter如何使按钮为选定状态并调用函式

我在tkinter的canvas中有两种按钮如下:

  1. 一般按钮:点击后将边框变色,点击任一函式按钮执行函式
  2. 函式按钮:绑定函式的按钮
    我想在点一般按钮后,将按钮边框变色并接着点击函式按钮来调用函式,且所有的一般按钮中一次只能有一个按钮被选中并改变边框颜色

这可以怎么做到?

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7489576
  • 除此之外, 这篇博客: Python tkinter库Canvas矩形框绑定事件模拟按钮中的 ⑦ 调整控件的摆放位置 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 首先我们需要搞明白,显示窗口究竟采用的是什么样子的布局方式呢?其实是网格式的布局方式。那么什么又是网格式的布局方式呢?excel表格你知道吧,一个个的格子就是网格式的布局方式。

    from tkinter import *
    from tkinter import messagebox

    # 创建窗口:实例化一个窗口对象。
    root = Tk()

    # 窗口大小
    root.geometry("600x450+374+182")

    #  窗口标题
    root.title("我的个性签名设计")

    # 添加标签控件
    label = Label(root,text="签名:",font=("宋体",25),fg="red")
    # 定位
    label.grid()
    """
    label.grid()等价于label.grid(row=0,column=0)
    """
    # 添加输入框
    entry = Entry(root,font=("宋体",25),fg="red")
    entry.grid(row=0,column=1)
    """
    row=0,column=1表示我们将输入框控件,放在第1行第2列的位置;
    python语言中,这个下标是从0开始的。
    """
    # 显示窗口
    root.mainloop()

  • 以下回答由chatgpt基于相关博客总结生成:

    解决方案:

    在tkinter中使按钮为选定状态并调用函数,我们可以使用Tkinter的Checkbutton组件来实现。以下是具体的步骤:

    1. 导入Tkinter模块。
    2. 创建一个Tkinter窗口,并设置窗口的标题和大小。
    3. 定义一个函数,用于处理一般按钮的点击事件。在这个函数里面,我们可以使用configure方法来改变按钮的边框颜色,以及设置其他特定的逻辑。
    4. 创建一个一般按钮,并绑定点击事件的处理函数。
    5. 创建一个函数按钮,并绑定需要调用的函数。
    6. 运行Tkinter窗口的主循环。

    下面是具体的代码实现:

    from tkinter import *
    
    def general_button_clicked():
        # 设置按钮的边框颜色
        general_button.configure(relief=SUNKEN)
        # 设置函数按钮为不可用状态
        function_button.configure(state=DISABLED)
    
    def function_button_clicked():
        # 调用需要执行的函数
    
    root = Tk()
    root.title('按钮选择示例')
    root.geometry('300x200')
    
    general_button = Button(root, text='一般按钮', command=general_button_clicked)
    general_button.pack(pady=10)
    
    function_button = Button(root, text='函数按钮', command=function_button_clicked)
    function_button.pack(pady=10)
    
    root.mainloop()
    

    请注意,上述代码只是一个基本的示例,你可以根据需求进行适当的修改和优化。

    希望这个解决方案能够帮助到你!如果你有任何问题,请随时提问。