Button
按钮是包含文本字符串的控件,是GUI中最常见的元素之一。
它可以放在几乎任何其他窗口上。
默认情况下,即如果未指定任何对齐样式,则标签将水平和垂直居中。
从版本2.9.1开始, wx.Button 支持显示文本和图像(目前仅在MSW,GTK或OSX / Cocoa)
按钮的几种状态:
- normal: 默认状态
- disabled: 禁用按钮时显示的位图。
- pressed:按钮时显示的位图(例如,当用户按住鼠标按钮时)
- focus: 当按钮具有键盘焦点时显示的位图(但未按下,因为在这种情况下按钮处于按下状态)
- current: 鼠标悬停在按钮上时显示的位图(可能有焦点但未按下它)。请注意,如果未指定当前位图但当前平台UI使用按钮的悬停图像(例如Windows XP或GTK +),则焦点位图也用于悬停状态。这使得可以仅设置焦点位图以在所有平台上获得相当好的行为。
构造函数
def __init__(
self,
parent, # 父窗体,一定不能为空
id=ID_ANY, # 控件的ID
label=””, # 按钮上显示的文本
pos = DefaultPosition, # 按钮的位置 wx.Point
size = DefaultSize, # 按钮的大小 wx.Size
style = 0, # 窗口风格
validator = DefaultValidator,# 窗口验证器
name =ButtonNameStr)
常用方法
__init__ |
默认构造函数。 |
---|---|
Create |
创建按钮 |
GetAuthNeeded |
如果按钮上显示需要身份验证的符号,则返回True 。 |
GetClassDefaultAttributes |
|
GetDefaultSize |
返回按钮的默认大小。 |
GetLabel |
返回按钮的字符串文本。 |
SetAuthNeeded |
设置是否应在按钮上显示需要认证的符号。 |
SetDefault |
将按钮设置为其顶级窗口中的默认项目 |
SetLabel |
设置按钮的字符串文本。 |
属性摘要
AuthNeeded |
见GetAuthNeeded 和SetAuthNeeded |
---|---|
Label |
见GetLabel 和SetLabel |
使用小例子
# -*- coding: utf-8 -*-
import wx
'''
创建一个Button
并且绑定事件
'''
class MyApp(wx.App):
def OnInit(self):
frame = wx.Frame(parent=None, title='按钮事件绑定')
panel = wx.Panel(frame, -1) # 生成一个面板
# 生成一个Button
button = wx.Button(panel, -1, 'hello', pos=(50, 50))
self.button1 = button # 设置一个成员变量
self.Bind( # 绑定事件
wx.EVT_BUTTON, # 按钮事件
self.OnButton_Event, # 按钮点击以后,所执行的事件
self.button1 # 所绑定的按钮
)
frame.Show()
return True
def OnButton_Event(self, event): # 事件激发函数
self.button1.SetLabel('改变文本')
app = MyApp()
app.MainLoop()
![2225162-d6e1c8391196cbb6.png](https://upload-images.jianshu.io/upload_images/2225162-d6e1c8391196cbb6.png)
运行结果截图