python tkinter pack 同一行_用python tkinter中的一行连接2个复选按钮
我有一个程序在画布中放置复选按钮,当选项(另一个复选按钮)被选中时。我有另一个选项(另一个复选按钮)来画线。为了画线,首先我应该选择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 buttons[pos][0].get() == 1:
buttons[pos][2].configure(bg='red')
else:
buttons[pos][2].configure(bg='green')
def place_checkbutton_in_canvas(e): # order to insert the checkbutton
if len(str(e.widget))<12: ## Don't place a new one if a checkbox was clicked
b = IntVar()
pos = len(buttons)
global xx, yy
xx = e.x
yy = e.y
buttons.append([b,pos, Checkbutton(top_canvas, variable=b, textvariable=b, command=CMD(color_checkbutton, pos))])
buttons[-1][2].place(x=xx, y=yy)
color_checkbutton(pos)
def place_checkbutton(): #to run when checkbutton is selected. Now the checkbutton will be placed where mouse clicked if choose_line is selected
top_canvas.bind('', place_checkbutton_in_canvas)
def checkbutton_available():
def drawline(ev):
flx = ev.x
fly = ev.y
def auxiliary():
lineor = top_canvas.create_line(xx, yy, flx, fly, width =3, fill = 'red')
auxiliary()
if chosen_option.get() == 2:
top_canvas.bind('', drawline)
chosen_option = IntVar()
choose_checkbutton = Radiobutton(top_canvas, text = "place checkbutton", variable=chosen_option, value = 1, command = place_checkbutton)
choose_checkbutton.place(x=10, y=10)
choose_line = Radiobutton(top_canvas, text = "draw line", variable=chosen_option, value = 2)
choose_line.place(x=10, y=100)
top_canvas.bind('', place_checkbutton_in_canvas)
root.mainloop()
python tkinter pack 同一行_用python tkinter中的一行连接2个复选按钮相关推荐
- python斗地主游戏源码_我用tkinter写的一个斗地主练习复盘python程序
python写的斗地主模拟器使用说明,以及python的标准控件库tkinter的使用示例. http://vdisk.weibo.com/s/C5R1f8s9EVq2y 我用python写的一个斗地 ...
- python做审计底稿视频_最新Python教学视频,每天自学俩小时,让你offer拿到手软...
2020最新Python零基础到精通资料教材,干货分享,新基础Python教材,看这里,这里有你想要的所有资源哦,最强笔记,教你怎么入门提升!让你对自己更加有信心,重点是资料都是免费的,免费!!! 如 ...
- python的gui界面文件管理_【Python】学生信息管理系统_开发(GUI界面)
学生信息管理系统的开发 模块: 1. 系统登录界面 --> logingui.py 2. 系统主界面 --> maingui.py 3. 学生明细界面 --> ...
- python文本结构化处理_在Python中标记非结构化文本数据
python文本结构化处理 Labelled data has been a crucial demand for supervised machine learning leading to a n ...
- python数据写入表格生成图片_使用Python制作一个GUI界面,将随机生成的姓名存入到Excel文件中...
前面内容,我们详细介绍了如何使用Python生成一定数量的随机姓名. 生成一些随机姓名 如何用Python生成若干个随机姓名?男女取名有方法,不能千篇一律 之前,也提到过,我们在一些项目中,需要若干个 ...
- 88是python语言的整数类型_少儿Python编程_第三讲:常量变量和数据类型
无论使用哪一种编程语言,甚至是学习数学.物理,都需要掌握常量.变量.表达式的概念和用法.本讲将带领读者进入编程世界,学习程序的基本元素. 3.1 基本数据类型 基本数据类型有数值型.布尔型和字符型.它 ...
- python输出欢迎某某某_煎酿三宝中的三宝指( )
[判断题]函数中必须包含 return 语句. [单选题]Python语句print(type(lambda:None))的输出结果是 [论述题]作业包括:联通logo.五角星图标 [论述题]字体设计 ...
- python制作解压工具_使用python制作一个解压缩软件
python实现解压缩的重要模块就是--zipfile,其次是os 安装zipfile模块 首先得安装zipfile模块,打开cmd输入一下命令即可安装 pip install zipfile os是 ...
- python输出一个月日历表_关于python一个月总结
今天是6月16了,我在上个月19号的时候敲下了人生中的第一行python的hello world代码.碰巧今天周末,明天又开始忙碌的上(mo)班(yu).趁着现在对这个月的学习做一个总结,也是理清思路 ...
最新文章
- spring 下载地址
- ajax响应码,jQuery 使用$ .ajax()处理HTTP响应代码
- c++中sin,cos,arcsin等和在C/C++中使用pi (π) 值
- pandas创建DataFrame
- java 调用谷歌翻译API(直接可以使用)
- MSN关闭前爆发盗号“高潮” 中国用户面临选择
- 咸鱼CAD笔记—CAD快捷键
- BitComet下载做种方法之完全解析- -
- win10聚焦功能失效的解决方法
- 培训机构要不要去 适合谁去
- 基于深度学习的遥感影像语义分割数据预处理
- 强化学习系列(1) 基本概念
- VSC的基础使用(插件和设置)
- Java实现 LeetCode 292 Nim游戏
- 双极晶体管是什么?MOS FET和CMOS的关系?
- [多图]华硕EeePC 900拆解图
- Android 动画学习笔记(二)
- 缓存代理服务器Squid----这一个介绍得还不错
- 怀旧服显示服务器已满,魔兽世界怀旧服还未开启就已人满为患
- php请求找不到tpl文件
热门文章
- (JAVA)Map集合
- QT安装配置是注意事项
- 彼得原理(The Peter Principle)
- VSTO 得到Office文档的选中内容(Word、Excel、PPT、Outlook)
- phpMyAdmin导入大的sql文件
- 谈谈基于SQL Server 的Exception Handlingp[下篇]
- 数据库调优都涉及哪些方面
- [小技巧][JAVA][转换]List, Integer[], int[]的相互转换
- unit类型是什么?_项目中有用过锁吗?能解释一下什么是AQS(AbstractQueuedSynchronizer)吗?...
- windows游戏编程_苹果的Mac和微软的Windows该如何选择?