python tkinter pack 同一行_用python tkinter中的一行连接2个复选按钮

本文介绍了一个Python tkinter程序,该程序在画布上放置复选按钮,并根据用户选择在画布上绘制线条。当选择'放置复选按钮'时,可以在画布上点击以放置新的复选按钮;当选择'绘制线条'时,点击画布上的复选按钮和任意位置会画线。然而,问题在于当放置多个复选按钮后,线条总是从最后一个复选按钮开始绘制,而不是用户实际点击的那个。作者考虑使用字典来记录每个复选按钮的位置,但不清楚如何实现。
摘要由CSDN通过智能技术生成

我有一个程序在画布中放置复选按钮,当选项(另一个复选按钮)被选中时。我有另一个选项(另一个复选按钮)来画线。为了画线,首先我应该选择checkbutton“draw a line”,然后单击放置在画布中的任何checkbutton,另一个单击画布上的任何地方。这个工作与我放置的第一个复选按钮,但如果我放置了几个复选按钮,它只从画布中的最后一个复选按钮的地方画线,而不从我选择的检查点画线。我相信我应该创建一个字典来记录我放置的复选按钮,这样我就可以回调它们了,但是我不知道如何实现它,有什么想法吗?from tkinter import *

root = Tk()

top_canvas = Canvas(root,width=1376,height=768, bg='light blue')

top_canvas.pack()

buttons = []

class CMD: #Auxilliary function for callbacks using parameters. Syntax: CMD(function, argument1, argument2, ...)

def __init__(s1, func, *args):

s1.func = func

s1.args = args

def __call__(s1, *args):

args = s1.args+args

s1.func(*args)

def color_checkbutton(pos): # define the colors of the checkbutton

checkbutton_available()

if button

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值