免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 99014 | 回复: 152

[原创]使用VB设计Python的GUI界面(Tkinter Designer) 附源码,[更新V1.5.1] [复制链接]

论坛徽章:
0
发表于 2012-10-31 02:23 |显示全部楼层
本帖最后由 cdhigh 于 2015-11-21 06:24 编辑

[2015-11-20]更新到1.5.1, https://github.com/cdhigh/tkinter-designer
[2013-03-21]更新一个小小升级,v1.4.6,主要是可以在VB中拖动鼠标设定窗体在屏幕上的初始位置。
[2013-02-19]更新1.4.5。
[2013-01-31]升级V1.4.4,完善一些小特性和修改一些BUG,应该够用了。
[2013-01-25]很多网友都在使用windows7了,VB6在windows7下有一定的兼容性问题,为此,我找到一个牛人修改的VB6.EXE补丁,在windows7完美使用VB6,不漂不卡。
[2013-01-16]升级V1.4.1,增加滚动条自动关联,在Listbox/Text/Treeview/Canvas右边或下边紧靠着放置合适长度的滚动条后自动关联,不需要再手工选择。
[2013-01-11]根据ld2759反馈:6M精简版,需要COMMTB32.DLL这个文件,工具栏上才有显示。
[2013-01-10]重要更新v1.4版本支持在VB6绿色精简版中使用!(建议使用12M的VB6精简版,6M精简版的VisualTkinter工具栏图标显示不出来,但可以在"外接程序"菜单下选择"VisualTkinter"来执行,功能不受影响)

---------------------------------
这是一个VB6的IDE插件(Addin),使用VB6的IDE直接设计Python的界面。

Python和VB都是能让人快乐的编程语言,我使用了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界面,支持2.X和3.X。


安装方法:将压缩包解压到你希望的目录,然后执行Setup.exe完成注册插件过程,打开VB6就可以用了。
在VB窗体上设计完成界面后(你可以大胆的设置各控件的属性,Addin尽量将其翻译为tkinter的控件属性),点工具栏上的VisualTkinter(图标为一片羽毛),再点'生成代码'按钮,即可生成可运行的Python代码,可以拷贝至剪贴板或保存至文件。
一般情况下你可以不用再改变tkinter的控件属性,但是如果你熟悉tkinter,需要更多的控制,可以一一核对各属性,并且修改,再生成代码。

当然除了用来设计界面外,此ADDIN内置的各控件属性列表可以做为编程参考,比较完整,除了极少数我认为大多数人都不用的属性外,属性定义基本上是我从官方的tkinter文档直接翻译的。

代码已经在Github上托管,更新的版本可以在这上面找到,需求也可以在上面提:
https://github.com/cdhigh/tkinter-designer

软件截图:
VisualTkinter_ScrPrnt.JPG

VisualTkinter_v1.3.rar (230.46 KB, 下载次数: 151)

评分

参与人数 1信誉积分 +10 收起 理由
substr函数 + 10 赞一个!

查看全部评分

论坛徽章:
0
发表于 2012-10-31 08:26 |显示全部楼层
启动VB6出现的错误
Clipboard.jpg

论坛徽章:
0
发表于 2012-10-31 09:26 |显示全部楼层
应该是缺少个别引用文件。
比如:vbscript.dll(Microsoft VBScript Regular Expressions 5.5)、msado15.dll(Microsoft ActiveX Data Objects 2.8 Library)、VB6EXT.OLB(Microsoft Visual Basic 6.0 Extensibility)、MSO.DLL(Microsoft Office 12.0 Object Library),

如果VB6是可以正常运行的(先使用Setup.exe卸载此插件),
可以考虑直接打开压缩包中的源代码工程(*.vbp),自己在VB中重新编译,根据编译结果就知道缺少什么引用文件了。
也麻烦将结果告诉我一下,我好改进。

论坛徽章:
0
发表于 2012-10-31 10:02 |显示全部楼层
如果编译通过,则先不关闭VB,直接按F5执行,再启动一个VB6,出现错误窗口后点调试,帮忙将错误的行截屏发上来,谢谢。

论坛徽章:
8
双鱼座
日期:2014-07-30 09:28:14辰龙
日期:2014-08-22 14:14:43水瓶座
日期:2014-12-02 15:36:392015年亚洲杯之朝鲜
日期:2015-02-06 09:28:592015亚冠之全北现代
日期:2015-09-10 14:40:18青铜圣斗士
日期:2015-11-18 09:22:56黄金圣斗士
日期:2015-11-26 09:17:2615-16赛季CBA联赛之新疆
日期:2016-08-15 17:00:22
发表于 2012-10-31 12:37 |显示全部楼层
这个还真是方便,vb和python真是越来越让人快乐
多谢牛人奉献的好东西

论坛徽章:
8
双鱼座
日期:2014-07-30 09:28:14辰龙
日期:2014-08-22 14:14:43水瓶座
日期:2014-12-02 15:36:392015年亚洲杯之朝鲜
日期:2015-02-06 09:28:592015亚冠之全北现代
日期:2015-09-10 14:40:18青铜圣斗士
日期:2015-11-18 09:22:56黄金圣斗士
日期:2015-11-26 09:17:2615-16赛季CBA联赛之新疆
日期:2016-08-15 17:00:22
发表于 2012-10-31 16:13 |显示全部楼层
本帖最后由 20032007 于 2012-10-31 16:14 编辑

请教一下楼主,**关于Tkinter的一些实例的源码可以下载?

论坛徽章:
8
双鱼座
日期:2014-07-30 09:28:14辰龙
日期:2014-08-22 14:14:43水瓶座
日期:2014-12-02 15:36:392015年亚洲杯之朝鲜
日期:2015-02-06 09:28:592015亚冠之全北现代
日期:2015-09-10 14:40:18青铜圣斗士
日期:2015-11-18 09:22:56黄金圣斗士
日期:2015-11-26 09:17:2615-16赛季CBA联赛之新疆
日期:2016-08-15 17:00:22
发表于 2012-10-31 16:14 |显示全部楼层
哪  里 有
是敏感词?

论坛徽章:
0
发表于 2012-10-31 17:27 |显示全部楼层
是MSO.DLL的问题,因为我用的是WPS(KSO.DLL)和office2003((Microsoft Office 11.0 Object Library)。
还有一个问题,我一般用GBK编码,所以字符中有中文的话要加u才行,能不能自动加上。

论坛徽章:
0
发表于 2012-10-31 18:04 |显示全部楼层
哦,因为我一般使用Python 3,只有在调试兼容性的时候使用Python 2,所以没有注意到UNICODE字符串的问题(Python 3字符串不再需要u前缀),会准备修改这个问题。

回坛友20032007:这是两本,都是网上下载的,官方文档适合做为编程参考,毕竟有全部属性和方法列表,编程实例忘了在哪里下载的了,在此感谢原作者,可以看出,tkinter使用起来超简单。
tkinter 官方文档(英文).pdf (1.4 MB, 下载次数: 995)

论坛徽章:
8
双鱼座
日期:2014-07-30 09:28:14辰龙
日期:2014-08-22 14:14:43水瓶座
日期:2014-12-02 15:36:392015年亚洲杯之朝鲜
日期:2015-02-06 09:28:592015亚冠之全北现代
日期:2015-09-10 14:40:18青铜圣斗士
日期:2015-11-18 09:22:56黄金圣斗士
日期:2015-11-26 09:17:2615-16赛季CBA联赛之新疆
日期:2016-08-15 17:00:22
发表于 2012-11-01 09:39 |显示全部楼层
回复 9# cdhigh


    谢谢您
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,8.5折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时8.5折扣期:2019年9月30日前


----------------------------------------

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP