wxPython是Python语言的一套优秀的GUI图形库。我们可以使用Python程序很方便的创建完整的、功能键全的GUI用户界面。 wxPython是作为优秀的跨平台GUI库wxWidgets的Python封装和Python模块的方式提供给用户的。
一、安装wxPython
首先需要安装wxpython库,按照下面的方法,开始安装:
pip install wxpython
安装完成以后,就可以使用wxpython编写可视化窗口的应用了。妈妈再也不担心我不会前端开发了。
二、Hello World
废话不多说,先上实战代码,你可以运行起来,体验一下。
import wx
class MyFrame(wx.Frame):
class MyFramea(wx.Frame):
def __init__(self):
super().__init__(parent=None, title='Hello World')
self.Show()
if __name__ == '__main__':
app = wx.App()
frame = MyFrame()
app.MainLoop()
wxPython一些通用的组件:
wxPython还有很多小的组件,你还可以自定义组件。
在可视化应用程序中,输入框、按钮可谓是,使用率相当高的控件了。接下在上面程序的基础上,添加一个输入框和两个按钮,还有按钮的点击事件。
import wx
class MyFramea(wx.Frame):
def __init__(self):
super().__init__(parent=None, title='Hello World')
# 创建面板
panel = wx.Panel(self)
# 声明一个垂直尺寸的容器
my_sizer = wx.BoxSizer(wx.VERTICAL)
# 在Panel上添加输入框
self.text_ctrl = wx.TextCtrl(panel)
# 为该容器添输入框加组件,从左往右,从上到下,边框为5
my_sizer.Add(self.text_ctrl,0,wx.ALL | wx.EXPAND,5)
# 在Panel上添加Button按钮
my_btn = wx.Button(panel, label='点我', pos=(5, 55))
# 为按钮绑定点击事件
my_btn.Bind(wx.EVT_BUTTON, self.on_press)
# 在Panel上添加Button按钮
close_btn = wx.Button(panel, label='关闭', pos=(5, 55))
# 为按钮绑定点击事件
close_btn.Bind(wx.EVT_BUTTON, self.on_close)
# 为该容器添按钮组件
my_sizer.Add(my_btn, 0, wx.ALL | wx.CENTER, 5)
my_sizer.Add(close_btn,0,wx.ALL | wx.CENTER, 5)
# 设置主尺寸
panel.SetSizer(my_sizer)
self.Show()
# 为按钮添加一个事件
def on_press(self, event):
value = self.text_ctrl.GetValue()
if not value:
print("你没有输入内容")
else:
print(f'你输入的内容是: "{value}"')
# 为按钮增加一个关闭按钮事件
def on_close(self, event):
dlg = wx.MessageDialog(None, u"我是一个消息对话框", u"wxPython标题信息", wx.YES_NO | wx.ICON_QUESTION)
if dlg.ShowModal() == wx.ID_YES:
self.Close(True)
dlg.Destroy()
if __name__ == '__main__':
app = wx.App()
frame = MyFramea()
app.MainLoop()
运行这段程序,将会看到下面这个界面:
你可以在输入框,输入一些内容,点击’点我’按钮试一试。然后再点击‘关闭’按钮。看看会发生什么情况?
最终结果应该是下图这样的:
如果你觉得内容还不错,分享给更多朋友,一起提升编程技能。