温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用wxPython写一个小工具

发布时间:2021-12-18 14:38:25 阅读:139 作者:iii 栏目:大数据
Python开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

本篇内容主要讲解“怎么用wxPython写一个小工具”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用wxPython写一个小工具”吧!

用于打开经常用的网站,程序启动后,界面是这个样子的

怎么用wxPython写一个小工具

程序代码
配置文件    

新建一个名为config.py的文件,内容为

#coding=utf-8urlconfig = {    u'百度':'http://www.baidu.com',    u'CSDN':'http://www.csdn.net',    u'菜鸟世界':'http://www.zhangdongshengtech.com'}
主程序    

同目录下新建一个名为browser.py的文件,内容为

#coding=utf-8import wximport osfrom config import urlconfigdef clickbtn(event):    namelist = cl.GetCheckedStrings()    #打开网址    for name in namelist:        command = "explorer {url}".format(        url=urlconfig[name])                os.system(command)    #取消选中    checkindex = cl.GetChecked()    for index in checkindex:        cl.Check(index, False)app = wx.App()window = wx.Frame(None, title=u"第一个程序", size=(350, 400))panel = wx.Panel(window)b = wx.Button(panel, 10, u"打开", (200, 20))panel.Bind(wx.EVT_BUTTON, clickbtn, b)urlList = urlconfig.keys()cl = wx.CheckListBox(panel, -1, (20, 20), (150, 300), urlList)window.Show(True)app.MainLoop()
程序解读    
控件介绍    
  1. Frame 是窗口控件

  2. Button 是按钮控件

  3. CheckListBox 是一组选择框,就是大家在上图左侧中看到的控件,可以选择一个,也可以多选

控件关系    

每个控件在创建时,都必须指明它的父亲控件是谁,这样,控件就一层一层的叠在一起了

事件绑定    

panel.Bind(wx.EVT_BUTTON, clickbtn, b)  给按钮控件绑定了一个事件,当按钮被点击时,执行clickbtn函数

clickbtn函数      
  • 在clickbtn函数里,GetCheckedStrings 方法返回被选中的选项的字符串,就是界面上能看到的内容,选项是允许多选的,方法的返回值是一个tuple

  • GetChecked 方法返回的是被选中的选项的索引号,返回值也是一个tuple,GetCheckedStrings方法和GetChecked 方法其实返回的都是被选中选项的信息,一个是索引号,一个是名称字符串,按道理应该会提供一个函数把这两个信息同时返回,但我暂时没有找到该方法。

  • Check 方法设置选项的选中状态,第一个参数是选项的索引号,第二个参数是选中状态,每次打开网址后,应当取消之前的选中状态,因此,我把选中的选项都设置为False

到此,相信大家对“怎么用wxPython写一个小工具”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/u/4632317/blog/4538542

AI

开发者交流群×