专业编程基础技术教程

网站首页 > 基础教程 正文

第16天 | 25天学会wxPython,步进和滑块

ccvgpt 2024-08-19 12:17:17 基础教程 11 ℃

滑块(wx.Slider)是一个窗口部件,它允许用户通过在该控件的尺度内拖动指示器来选择一个数值;步进(wx.SpinCtrl),也叫微调控制器,可以让用户不必使用键盘来输入一个数字量,通过点击自动加1。

程序清单:slider_spin.py

第16天 | 25天学会wxPython,步进和滑块

import wx


# 继承Frame
class SliderAndSpin(wx.Frame):

    def __init__(self, *args, **kwargs):
        super(SliderAndSpin, self).__init__(*args, **kwargs)
        # 初始化窗口UI
        self.init_ui()

    def init_ui(self):
        # 面板
        panel = wx.Panel(self)
        # 滑块
        slider = wx.Slider(panel, id=wx.ID_ANY,
                           minValue=1, maxValue=100,
                           pos=(20, 20))
        # 数值步进
        spin_ctrl = wx.SpinCtrl(panel, id=wx.ID_ANY,
                                min=1, max=100, initial=1,
                                pos=(20, 60))
        self.Bind(wx.EVT_SLIDER, self.slider, slider)
        self.Bind(wx.EVT_SPINCTRL, self.spin_ctrl, spin_ctrl)
        self.SetSize(900, 500)
        self.SetTitle("滑块和步进的应用")
        self.Centre()
        self.Show(True)

    def slider(self, e):
        slider = e.GetEventObject()
        value = slider.GetValue()
        print(value)

    def spin_ctrl(self, e):
        spin = e.GetEventObject()
        value = spin.GetValue()
        print(value)


def main():
    app = wx.App(False)
    SliderAndSpin(None)
    app.MainLoop()


if __name__ == "__main__":
    main()

运行程序之后,弹出的窗口如下:

滑块wx.Slider的minValue指定最小值,maxValue指定最大值;wx.SpinCtrl的min指定最小值, max指定最大值, initial初始值,如果步进跨步比较大,如从1到100,可以直接输入整数100,组件做了约束,输入框里只能输入1~100之间的整数,不能输入其他内容。

好了,步进和滑块的内容就说到这了,关注我,下一节更精彩。

码字不易,你的关注和转发是对我最大的鼓励,谢谢!

一个当了10年技术总监的老家伙,分享多年的编程经验。想学编程的朋友,关注我,你就赚到了。我正在分享Python、前端、Java和App方面的干货了。赶紧来围观啊!!!

#python##好平台好讲师##程序员##热搜##桌面#

Tags:

最近发表
标签列表