wxpython高级组件
在这一章中,我们将讨论以下高级部件:wx.ListBox、wx.html.HtmlWindow、wx.ListCtrl。
wxPython有几个著名的高级部件。例如树形组件、HTML 窗口、网格部件、listbox 部件、列表部件或具有高级样式功能的编辑器。
wx.ListBox 组件
wx.ListBox
用于显示和处理一个项目列表。 wx.ListBox
可以在两种不同的状态下创建:单选状态或多选状态。单选状态是默认状态。
wx.ListBox
中有两个重要事件。第一个是 wx.EVT_COMMAND_LISTBOX_SELECTED
事件。当我们在 wx.ListBox
中选择一个项目时,就会产生这个事件。第二个是 wx.EVT_COMMAND_LISTBOX_DOUBLE_CLICKED
事件。当我们双击 wx.ListBox
中的一个项目时,就会产生这个事件。元素从零开始编号。如果需要,滚动条会自动显示。
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!??¤
QQ群:1057034340
我们创建一个空的wx.ListBox。我们在列表框周围加上一个20px的边框。
self.Bind(wx.EVT_LISTBOX_DCLICK, self.OnRename)
我们使用wx.EVT_COMMAND_LISTBOX_DOUBLE_CLICKED事件绑定器与OnRename()方法绑定一个wx.EVT_LISTBOX_DCLICK事件类型。这样,如果我们双击列表框中的一个特定元素,我们就会显示一个重命名对话框。
我们通过点击New按钮来调用NewItem()方法。该方法使用包装器wx.GetTextFromUser()方法显示了一个wx.TextEntryDialog。我们输入的文本会返回到文本变量中。如果文本不是空的,我们就用Append()方法将其追加到列表框中。
我们通过删除一个项目,并在同一位置插入一个新的项目来重新命名它。我们还将选区设置回修改后的项目。
要删除一个项目,我们通过调用GetSelection()方法找到所选项目的索引。然后我们用Delete()方法删除这个项目。Delete()方法的参数是选中的索引。
最简单的就是清除整个列表框。我们只需调用Clear()方法。
wx.html.HtmlWindow 组件
wx.html.HtmlWindow
组件显示HTML页面。它不是一个成熟的浏览器。我们可以用 wx.html.HtmlWindow
组件做一些有趣的事情。
例如,在下面的程序中,我们创建了一个显示基本统计数据的窗口。
这是要显示的HTML页面。
<img src="https://mymarkdowm.oss-cn-beijing.aliyuncs.com/markdownimg/image-20201030141835060.png" alt="image-20201030141835060" style="zoom:50%;" />
本例在wx.html.HtmlWindow widget中派发一个HTML文件。
htmlwin = wx.html.HtmlWindow(panel, wx.ID_ANY, style=wx.NO_BORDER) htmlwin.SetStandardFonts() htmlwin.LoadPage("page.html")
wx.html.HtmlWindow被创建。用LoadPage()方法加载HTML文件。
Help window
我们可以使用wx.html.HtmlWindow来为我们的应用程序提供帮助。我们可以创建一个独立的窗口,也可以创建一个将成为应用程序一部分的窗口。下面的脚本将使用后者来创建一个帮助窗口。