2025年3月30日 星期日 甲辰(龙)年 月廿九 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

wxPython Button按钮的用法

时间:10-01来源:作者:点击数:33

Button 元素的主要属性包括上面的文字 label、单击后的处理函数等。下面是其初始化函数的定义:

  • Button(parent,
  • id=ID_ANY,
  • label=EmptyString, # 按钮上显示的内容
  • pos=DefaultPosition,
  • size=DefaultSize,
  • style=0,
  • validator=DefaultValidator,
  • name=ButtonNameStr)

处理函数通过其成员函数 Bind() 来定义,该函数的定义如下:

Bind(self, event, handler, source=None, id=-1, id2=-1)

其中 event 和 handler 是必须定义的,其他的可以不用填写。source 表示事件的发起者,id 表示事件发起者的 ID,id2 用来指定事件发起者的 ID 范围。

下面是一个按钮使用的例子,其窗口有一个按钮,单击该按钮,按钮上的文字发生变化,显示被单击的次数。下面是完整的代码:

  • import wx
  • # 主窗口类
  • class MainFrame(wx.Frame): # 记住一定要从wx.Frame派生出主窗口类
  • def __init__(self, p, t):
  • """ p: 父亲窗口
  • t: 窗口标题
  • """
  • wx.Frame.__init__(self, id=wx.NewId(), parent=p, title=t, size=
  • (300, 100))
  • # 该panel的父亲就是该窗口, id=-1就表示任意ID
  • panel = wx.Panel(self, -1)
  • self.button = wx.Button(panel, -1, u"单击我", pos=(50, 20))
  • # 绑定事件,就是指定的button被单击后调用onClick()成员函数
  • self.Bind(wx.EVT_BUTTON, self.OnClick, self.button)
  • self.button.SetDefault()
  • self.clicked_times = 0
  • def OnClick(self, event):
  • self.clicked_times = self.clicked_times + 1
  • # 一旦单击就修改按钮的显示文字
  • self.button.SetLabel(u"单击成功(%d)" % self.clicked_times)
  • if __name__ == "__main__":
  • # 创建应用程序
  • app = wx.App(False)
  • # frame就是应用程序的主窗口
  • frame = MainFrame(None, "button演示")
  • frame.Show(True) # 显示该窗口
  • app.MainLoop() # 进入消息循环

运行该程序,显示如图 1 所示的窗口。


图 1 普通按钮

单击窗口上的“单击我”按钮后,显示如图 2 所示。


图 2 单击按钮后的窗口
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门