python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)


Posted in Python onMay 17, 2021

在上一篇的基础上,继续在透明窗体上绘制小球

一、画个大球看看

(一)核心代码

在on_resize函数内部增加如下画圆的代码

canvas.create_oval(100, 100, 200, 200,
                       outline='yellow',  # 边框颜色
                       fill='pink',  # 填充颜色
                       width=4  # 边框宽度
                       )

运行效果如下:

python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)

嘻嘻,是不是觉得有点意思。

好吧,后续我会分享这部分的完整代码给各位,希望大家不是拿来主义,能点点赞、关注一下我啊。

二、让小球随机运动起来

(一)核心函数

def create_ball(canvas,tk):
    # tkinter绘图采用屏幕坐标系,原点在左上角,x从左往右递增,y从上往下递增
    # 在绘图区域内,随机产生当前球的圆心的x坐标和y坐标,用于制定出现的位置
    xpos = randint(10, int(tk.winfo_width()))
    ypos = randint(10, int(tk.winfo_height()))

    # 随机产生表示当前球的大小,也就是半径长度
    radius = randint(40, 70)

    # 通过lambda表达式创建函数对象r,每次调用r()都会产生0~255之间的数字
    r = lambda: randint(0, 255)

    # 三次调用的数字取前两位,用十六进制数方式存储到self.color里,作为球的颜色
    # RRGGBB,前2是红色,中2是绿色,后2是蓝色,最小是0,最大是F

    # 如全黑#000000  全白#FFFFFF  全红#FF0000
    color = "#%02x%02x%02x" % (r(), r(), r())

    # canvas.create_oval可以绘制一个圆
    # 但是需要传入圆的左、上、右、下四个坐标
    # 所以我们先产生4个坐标,通过这个四个坐标,绘制圆的大小

    # 左坐标=x坐标-半径
    x1 = xpos - radius
    # 上坐标=y坐标-半径
    y1 = ypos - radius
    # 右坐标=x坐标+半径
    x2 = xpos + radius
    # 下坐标=y坐标+半径
    y2 = ypos + radius

    # 通过canvas.create_oval()方法绘出整个圆,填充色和轮廓色分别是self.color生成的颜色
    canvas.delete('ball')
    ball = canvas.create_oval(x1, y1, x2, y2, fill=color, outline=color,tag='ball')
    # canvas.addtag_all('t5')
    print(x1,y1,x2,y2,color,radius)

    canvas.after(1000, create_ball,canvas,tk)

(二)运行效果

python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)

随机的小球运动效果就出来了。

三、更多参数的优化

(一)去掉标题栏

tk.overrideredirect(1)

(二)置顶显示

tk.wm_attributes("-topmost", 1)

(三)把旁边的白边去掉

canvas.config(highlightthickness=0)

呵呵,窗体最后就变成光秃秃的了。
也许按需使用会更好!!

(四)运行效果

python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)

呵呵,什么都没有了,只剩下随机的小球还在界面上显示。

代码量不大,效果还行。
再深入研究可以有更多更有趣的应用。

以上就是python使用tkinter实现透明窗体上绘制随机出现的小球的详细内容,更多关于python tkinter透明窗体小球的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python读取html中指定元素生成excle文件示例
Apr 03 Python
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
May 02 Python
python中的代码编码格式转换问题
Jun 10 Python
Python 登录网站详解及实例
Apr 11 Python
python的Crypto模块实现AES加密实例代码
Jan 22 Python
Python关于excel和shp的使用在matplotlib
Jan 03 Python
python3多线程知识点总结
Sep 26 Python
python tkinter GUI绘制,以及点击更新显示图片代码
Mar 14 Python
Pandas把dataframe或series转换成list的方法
Jun 14 Python
Keras SGD 随机梯度下降优化器参数设置方式
Jun 19 Python
如何使用Python进行PDF图片识别OCR
Jan 22 Python
python实现学生通讯录管理系统
Feb 25 Python
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
Pytorch 实现变量类型转换
Python进度条的使用
May 17 #Python
Python包管理工具pip的15 个使用小技巧
Python中json.dumps()函数的使用解析
May 17 #Python
Python中threading库实现线程锁与释放锁
Python中Cookies导出某站用户数据的方法
May 17 #Python
You might like
编译php 5.2.14+fpm+memcached(具体操作详解)
2013/06/18 PHP
Laravel 5框架学习之子视图和表单复用
2015/04/09 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
如何利用PHP实现上传图片功能详解
2020/09/24 PHP
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
IE与FireFox中的childNodes区别
2011/10/20 Javascript
javascript去掉前后空格的实例
2013/11/07 Javascript
使用简洁的jQuery方法实现隔行换色功能
2014/01/02 Javascript
jquery实现文本框数量加减功能的例子分享
2014/05/10 Javascript
jquery 操作css样式、位置、尺寸方法汇总
2014/11/28 Javascript
浅谈Jquery为元素绑定事件
2015/04/27 Javascript
javascript实现简单的页面右下角提示信息框
2015/07/31 Javascript
EasyUI为Numberbox添加blur事件的方法
2017/03/05 Javascript
动态Axios的配置步骤详解
2018/01/12 Javascript
JS中使用cavas截图网页并解决跨域及模糊问题
2018/11/13 Javascript
如何对react hooks进行单元测试的方法
2019/08/14 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
2020/05/28 Javascript
如何利用JS将手机号中间四位变成*号
2020/09/29 Javascript
Python转码问题的解决方法
2008/10/07 Python
python字符串连接方式汇总
2014/08/21 Python
Python输出汉字字库及将文字转换为图片的方法
2016/06/04 Python
Python中防止sql注入的方法详解
2017/02/25 Python
Python实现图片尺寸缩放脚本
2018/03/10 Python
Python txt文件加入字典并查询的方法
2019/01/15 Python
keras的load_model实现加载含有参数的自定义模型
2020/06/22 Python
python 模拟登陆github的示例
2020/12/04 Python
HTML5标签小集
2011/08/02 HTML / CSS
详解html5页面 rem 布局适配方法
2018/01/12 HTML / CSS
欧舒丹澳洲版:L’OCCITANE
2017/07/17 全球购物
党员年终民主评议的自我评价
2013/11/05 职场文书
三查三看党性分析材料
2014/02/18 职场文书
教师个人自我剖析材料
2014/09/29 职场文书
2014年园林绿化工作总结
2014/12/11 职场文书
2016年精神文明建设先进个人事迹材料
2016/02/29 职场文书