vb语言和python语言_用VB“写”Python程序

首先我们来讨论一个争议性问题,用Python做窗口(GUI)编程到底有没有意义?总体来说,意义不大。为什么呢?很明显,Python的强项在于代码优美、简洁,把更多的工作留给计算机去运行,从而解放程序猿们。所以用Python的大牛,更多的是用Python做商业爬虫、大数据分析、Web后端、网络运维、以及与各种开源硬件结合开发各种智能应用。知乎上有位大神给出了非常好的回答:“如果你有时间花半个小时去开发一个简单的、非原生的窗口界面,真不如用Python写好后台,前台直接用html几句代码搞定,还不用考虑兼容问题”。对此,I can’t agree more。

但是,仔细想来,对于众多的编程爱好者来说,甚至我们这些科班出身的学生,当年在以C作为启蒙语言的过程中,真的在学了大半年后还有过这样的疑问:“到底这玩意儿有什么用?”。虽然深入学习到一定层次,我们知道了C的效率、C的底层、C的思想,C的“高级”,使我至今仍然膜拜信息学奥赛的各位指导大牛。但是更多天资平平,一腔热血的程序爱好者可能就在漫漫的黑屏白字中放弃了。高中要体现计算思维,要提高程序设计的思维启蒙作用,我个人觉得还是要有图形界面开发作为辅助的,还记得山师附中分享的那些订餐、抢红包的案例吗?我相信学生一定是充满了兴趣去学习的。

那么问题就来了,python这么优秀的语言,是不是做出来的窗口也很优雅呢。结果可能出乎你的意料,python自带的图形库tkinter做界面颜值很一般,关键整个界面都和java一样,需要用代码一点一点垒起来。比如:要做个含有一个按钮,一个文本框的小程序,光写界面就要写如下图多的代码,而且大小不合适,就要进入改代码、运行、改代码、再运行的循环反复中。此时此刻,脑海中只有一句歌词:“这让我感到绝望,董小姐~”……

所以很多时候,要用Python做成产品级的UI的话,还是要求助第三方GUI开发工具,比如wxPython、pyQT等等。但这些工具,庞大臃肿、学习周期长,对于我们中学教育而言专业性太强。所以有人也想到了这些,给tkinter这个python自带的图形库,开发了对应的图形设计软件(插件)。经过网络检索比对,我能找到比较靠谱的,是这样一款VB扩展程序:

这款VB插件利用VB本身设计界面,生成的代码,可以直接在python2和3中运行:

仔细来看,还是有些瑕疵的,它生成的界面控件,不管设置为绝对大小,还是相对大小,都出现了一定的偏移,估计是和最新的python3.6版本不匹配。抛开这些我还真是觉得这款插件非常适合中学课堂程序教学从VB到Python的过渡,老师们可以研究一下。软件是一个网友个人做的,放到GitHub上了,百度“VB tkinter”即可下载,遗憾的是只更新到15年吧。

哈哈,既然前面的Python图形开发插件不是那么好用,这么优秀的VB扩展程序原作者也不再更新维护了,我忽然有一种自己写一个Python图形开发工具的冲动。几天下来,还算是做了个雏形出来,基本功能已经实现。如图:

视频演示:

目前这个工具还在开发完善中,还有很多的控件和属性要添加,总体目标和VB扩展程序版的软件差不多,当然我会修复下显示方面的bug,多一个效果预览功能,重点抓住我们中学实用的各种属性,各位敬请期待哈。

最后,还是要说一下,界面只是外表,深厚的编程功底、严谨的编程思想,才是我们应该追求的主旋律。让信息技术教师更加专业化,让信息技术课体现深度思维,前路漫漫,愿与各位同仁共勉。

(采编:潘思阔 技术:刘溪)

这是一个VB6的IDE插件(Addin),使用VB6的IDE直接设计Python界面PythonVB都是能让人快乐的编程语言,我使用了Python之后,很多自己使用的工具都使用Python开发或改了,因为最终实现的Python代码实在太短了(相比VB),有时候Python一行代码就可以实现VB一个函数的功能。 Python就是这种让人越用越开心的语言。 不过说实在,使用Python开发GUI界面还是麻烦了一些了,自带的标准库Tkinter使用起来非常简单,不过对于习惯了VB拖放控件完成界面设计的同学来说,还是不够人性化。TK也有一个工具叫GUI Builder,不过它使用Layout布局,不够直观,而且界面简陋,用起来也不爽。 至于PyQt/wxPython等GUI库,尽管有可视化设计工具,但总感觉做一般的轻量级应用是杀鸡用牛刀,学习起来也比较复杂,而且不够环保,不够低碳,要带一个很大的库,需要目标机器上夜同样安装了PyQt/wxPython,做不了绿色软件。 所以最终的结果是我更喜欢Tkinter,用起来很简单,绿色环保,真正的跨平台,一个py文件到处运行(担心泄密就编译成pyc)。 很多人都认为TK的界面不够美观,不过导入Python自带的标准TTK主题库,界面非常Native,不输PyQt/wxPython。 此Addin默认启用TTK支持,也可选择关闭。 总而言之,轻量级GUI,TK+TTK足够。 使用此Addin,你可以不用一句代码就可以生成一个完整可运行的Python的GUI界面,支持python 2.X和3.X。 安装方法:将压缩包解压到你希望的目录,然后执行Setup.exe完成注册插件过程,打开VB6就可以用了。 在VB窗体上设计完成界面后(你可以大胆的设置各控件的属性,Addin尽量将其翻译为tkinter的控件属性),点工具栏上的VisualTkinter(图标为一片橙红色羽毛),再点'生成代码'按钮,即可生成可运行的Python代码,可以拷贝至剪贴板或保存至文件。 一般情况下你可以不用再改变tkinter的控件属性,但是如果你熟悉tkinter,需要更多的控制,可以一一核对各属性,并且修改,再生成代码。 除了用来设计界面外,此ADDIN内置的各控件属性列表可以做为编程参考,比较完整,除了极少数我认为大多数人都不用的属性外,属性定义基本上是我从官方的tkinter文档直接翻译的。 如果还没有VB6,网上找一个VB6精简版即可(建议使用12M的版本,6M的版本也可以使用,不过工具栏图标无法显示,可以通过菜单执行此插件)。 经过网友测试,完美支持WinXP,Windows 7, Windows 8。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值