千家信息网

Tkinter编程中Canvas控件怎么用

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章主要为大家展示了"Tkinter编程中Canvas控件怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Tkinter编程中Canvas控件怎么
千家信息网最后更新 2025年01月31日Tkinter编程中Canvas控件怎么用

这篇文章主要为大家展示了"Tkinter编程中Canvas控件怎么用",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Tkinter编程中Canvas控件怎么用"这篇文章吧。

大部分情况下,使用控件就可以满足简单程序的需求,但是总会存在某些场景需要自己绘制一些内容,这时就需要使用Canvas控件了。例如下面的围棋表示程序。

以下结合这个实例说明Canvas控件的基本用法。

和使用其他控件一样构建主窗口:

# create the main windowroot = Tk()

决定棋盘路数和路间距:

# config go panspace = 30pan_size = 13

用生成其他控件相似的方法生成Canvas控件,width和height分别用于指定控件的宽度和高度。

# create canvascanvas = Canvas(root, height= space * pan_size, width= space * pan_size)canvas.grid(row=0, column=0)

接下来的描画动作都通过Canvas控件进行。

生成构建棕色矩形棋盘。参数为的左上角、右下角坐标和填充颜色。

# crate pancanvas.create_rectangle(space / 2, space / 2,                        space * pan_size - space / 2, space * pan_size - space / 2,                        fill = '#eeaa40')

通过直线对象描画棋盘格。

# draw horizental linesfor r in range(0, pan_size):    canvas.create_line(space / 2, space / 2 + r * space,                       space * pan_size - space / 2, space / 2 + r * space)# draw vertical linesfor c in range(0, pan_size):    canvas.create_line(space / 2 + c * space, space / 2,                       space / 2 + c * space, space * pan_size - space / 2)

棋子描画函数利用椭圆形对象和Text对象描画黑子和白子,如果指定了number参数,还可以在棋子上生成反白文字。

#color enum valueclass GoColor(Enum):    WHITE = 0    BLACK = 1
# create fontftTimes = Font(family='Times', size=12)
# add godef set_go(row, col, color, number=0): r = 11 go_color = 'white' font_color = 'black' if color==GoColor.BLACK: go_color = 'black' font_color = 'white' # add go shape canvas.create_oval(space / 2 + col * space - r, space / 2 + row * space - r, space / 2 + col * space + r, space / 2 + row * space + r, fill=go_color) # add number if number>0: canvas.create_text(space / 2 + col * space, space / 2 + row * space, font=ftTimes, fill=font_color, text=str(number))

代码在生成椭圆形时指定的参数是左上角、右下角坐标和填充颜色;生成文字对象时指定的是位置、字体和文字。

最后按照小目定式的一种增加若干棋子。

# add gos.set_go(3, 10, GoColor.BLACK)set_go(3, 8, GoColor.WHITE)set_go(5, 10, GoColor.BLACK, 1)set_go(2, 10, GoColor.WHITE, 2)set_go(2, 11, GoColor.BLACK, 3)set_go(2, 9, GoColor.WHITE, 4)set_go(1, 11, GoColor.BLACK, 5)set_go(2, 4, GoColor.WHITE, 6)

以上是"Tkinter编程中Canvas控件怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

控件 生成 内容 对象 编程 参数 文字 棋子 棋盘 篇文章 坐标 左上角 椭圆 椭圆形 程序 颜色 学习 帮助 相似 接下来 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 信息网络安全监察这个专业如何 数据库概念模型圆圈 新电脑的数据库为什么用不了 mysql数据库有关的文献 数据库偶尔更新太慢 数据库sql网吧上网需求分析 通化市开展网络安全执法检查 跑悅樂上海网络技术有限公司 海外云服务器推荐 台州景程网络技术有限公司 千万别学网络安全工程 网络安全产业图谱 月度数据比较好的数据库 一个服务器最多支持多少连接 vcn软件开发工具 实时历史数据库使用情况 网络技术提供者 三门峡网络安全系统品牌 河南省公安部网络安全保卫局电话 北京服务器托管公司 中控考勤服务器数据库 跑悅樂上海网络技术有限公司 关于中国网络技术发展的作文 庐江正规网络技术服务直销价格 农业病虫害数据库 摩莎串口服务器找不到COM口 服务器的放置地方的防护 如何查看本地服务器的数据备份 天网类软件开发 人间地狱steam进入服务器
0