02_wxPython之[ Button ]

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 GetAuthNeededSetAuthNeeded
Label GetLabelSetLabel

使用小例子

# -*- 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
运行结果截图

猜你喜欢

转载自blog.csdn.net/weixin_33721344/article/details/90936306