【15.3 python中的wxPython框架的常用控件】

python中的wxPython框架的常用控件


wxPython框架为Python开发者提供了丰富的GUI控件(widgets),这些控件可以用于构建用户界面。下面是一些常用的wxPython控件及其简单示例:

1. 窗口(Frame)

窗口是GUI应用程序的基础,用于包含其他控件。在wxPython中,wx.Frame类用于创建窗口。

import wx

class MyFrame(wx.Frame):
    def __init__(self, parent, title):
        super(MyFrame, self).__init__(parent, title=title, size=(300, 200))

if __name__ == '__main__':
    app = wx.App(False)
    frame = MyFrame(None, 'Hello World')
    frame.Show()
    app.MainLoop()

2. 按钮(Button)

按钮允许用户通过点击来触发操作。

import wx

class MyFrame(wx.Frame):
    def __init__(self, parent, title):
        super(MyFrame, self).__init__(parent, title=title, size=(200, 100))
        self.button = wx.Button(self, label='Click Me', pos=(50, 20))
        self.button.Bind(wx.EVT_BUTTON, self.on_button_click)

    def on_button_click(self, event):
        print('Button clicked!')

if __name__ == '__main__':
    app = wx.App(False)
    frame = MyFrame(None, 'Button Example')
    frame.Show()
    app.MainLoop()

3. 文本框(TextCtrl)

文本框允许用户输入单行或多行文本。

import wx

class MyFrame(wx.Frame):
    def __init__(self, parent, title):
        super(MyFrame, self).__init__(parent, title=title, size=(250, 150))
        self.text_ctrl = wx.TextCtrl(self, pos=(20, 20), size=(200, -1))  # -1 表示自动调整高度

if __name__ == '__main__':
    app = wx.App(False)
    frame = MyFrame(None, 'Text Ctrl Example')
    frame.Show()
    app.MainLoop()

4. 静态文本(StaticText)

静态文本用于显示不可编辑的文本。

import wx

class MyFrame(wx.Frame):
    def __init__(self, parent, title):
        super(MyFrame, self).__init__(parent, title=title, size=(200, 100))
        self.static_text = wx.StaticText(self, label='Hello, wxPython!', pos=(50, 20))

if __name__ == '__main__':
    app = wx.App(False)
    frame = MyFrame(None, 'Static Text Example')
    frame.Show()
    app.MainLoop()

5. 复选框(CheckBox)

复选框允许用户选择多个选项中的一个或多个。

import wx

class MyFrame(wx.Frame):
    def __init__(self, parent, title):
        super(MyFrame, self).__init__(parent, title=title, size=(200, 150))
        self.checkbox = wx.CheckBox(self, label='Check me', pos=(50, 20))

if __name__ == '__main__':
    app = wx.App(False)
    frame = MyFrame(None, 'CheckBox Example')
    frame.Show()
    app.MainLoop()

6. 单选按钮(RadioButton)

单选按钮用于从一组选项中选择一个。通常,这些按钮会组合在一起,确保一次只能选择一个。

import wx

class MyFrame(wx.Frame):
    def __init__(self, parent, title):
        super(MyFrame, self).__init__(parent, title=title, size=(200, 150))
        self.radio1 = wx.RadioButton(self, label='Option 1', pos=(20, 20), style=wx.RB_GROUP)
        self.radio2 = wx.RadioButton(self, label='Option 2', pos=(20, 40))

if __name__ == '__main__':
    app =
  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wang151038606

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值