python做gui好吗_使用Python制作一个铅笔类(Python GUI编程)

今天,带领大家制作一个铅笔类,实现在界面内自由画图的功能,类似一个铅笔在画布上绘图。通过这个课题,我们可以学习以下内容:

Canvas自由绘图的基本思路鼠标事件绑定基本用法如何改变鼠标形状不赘述,先上代码,如下图所示。

b812c8fcc3cec3fdad5444b7607e3a3b85942781.jpeg?token=6598a28afabacaacadafd3be0ca9800c&s=E0E2B3465AA1A97E546DB40F0000E0C1铅笔类的初始化

cf1b9d16fdfaaf5108c044253ba27aeaf11f7a01.jpeg?token=de901b565fd1ad90027220fd9b6c7417&s=E8C2B3445AE5A16E4641D00F0000E0C1鼠标绑定事件

0d338744ebf81a4cb2831c3b61dc8e5d272da68f.jpeg?token=596fa33412014aff2e3b077a869d0395&s=E0E2B3404EE09D700CFCD40F0000E0C1测试绘图

好了,代码输入编辑器,【运行】看下效果吧。

d50735fae6cd7b8916dfb7c6b9d2aca3d8330e3b.jpeg?token=9e8a74a227af060c0f51e28ceabbd0c6&s=BDA8783253EEE0EC5C7D11DE000080B1可爱吗?使用程序画的小猴子

怎么样?赶紧试试吧,用自己制作的铅笔画个简笔画,有成就感哦!兴趣之余别忘了我们的学习内容哦,下面梳理一下:

Canvas自由绘图的基本思路

例子中Pen类的定义起始就是Canvas自由绘图的应用。对本程序实现思路进行梳理:

【第一步】点击鼠标,打开绘图开关(self.start实现的功能)

【第二步】当鼠标拖动(按住鼠标左键移动)时判断鼠标位置是否在画板内并且是否打开绘图开关,如果在画板内(self.prex、self.prey均大于零)且已经打开画图开关,则将鼠标前一点位置和当前位置连接,然后将前一点位置设置为当前位置,依次类推即可(self.move实现的功能)

【第三步】鼠标移动到目标位置后,释放鼠标,关闭绘图开关,将鼠标前一点位置设置为初始状态(self.end实现功能)

鼠标事件绑定基本用法

程序中用到了以下几种:

self.bind('', self.move):绑定鼠标移动事件self.bind('', self.start):绑定鼠标单击事件(单击当然是左键哦)self.bind('', self.end):绑定鼠标释放事件self.bind('', self.clean):绑定鼠标右键单击事件

其它还有好多,大家自行学习,我们主要梳理下用法,其中传入的绑定时间函数第一个参数是self(类中是这样),第二个参数必须传入event事件(名字可以自定义)。如果不是在类中使用的话,传入的第一个参数就必须是event事件。

如何改变鼠标形状

三种方式设置属性

widget['cursor'] = cursor_imgwidget.config('cursor' = cursor_img)widget.cursor = cursor_img其中鼠标形状有以下几种:"arrow"、"circle"、"clock"、"cross"、"dotbox"、"exchange"、"fleur"、"heart"、"heart"、"man"、"mouse"、"pirate"、"plus"、"shuttle"、"sizing"、"spider"、"spraycan"、"star"、"target"、"tcross"、"trek"、"watch"

感兴趣的朋友们自己设置下试试哦。。。

转载请注明出处(百家号:Python高手养成)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值