wxpython核心部件wx.spinctrl用法示例

发布时间:2020-12-03编辑:脚本学堂
有关wxpython中核心部件wx.spinctrl的用法,用于增加或减少一个数值,可以在一个框中输入一个数值,或是通过这两个箭头来增加或减少这个数值,wx.spinctrl用法示例。

在wxpython中核心部件wx.spinctrl可以增加或减少一个数值。
为此,它有着两个分别向上或向下的箭头按钮。用户可以在一个框中输入一个数值,或是通过这两个箭头来增加或减少这个数值。

专题教程:wxpython中文教程

wx.SpinCtrl 样式有:
wx.SP_ARROW_KEYS
wx.SP_WRAP

如图:
<a href=http://www.jb200.com/python/wxpythonhexinbujian/ target=_blank class=infotextkey>wxpython核心部件</a>wx.spinctrl wx.spinctrl.methods

例子:
 

复制代码 代码示例:

#!/usr/bin/python
#coding=utf-8

#spinctrl.py

import wx

class MyDialog(wx.Dialog):
    def __init__(self, parent, id, title):
        wx.Dialog.__init__(self, parent, id, title,
                           wx.DefaultPosition, wx.Size(350, 310))
       
        wx.StaticText(self, -1, '将法式温度转换为摄氏温度', (20, 20))
        wx.StaticText(self, -1, '法式温度:', (20, 80))
        wx.StaticText(self, -1, '摄氏温度:', (20, 150))
       
        self.celsius = wx.StaticText(self, -1, '', (150, 150))
        self.sc = wx.SpinCtrl(self, -1, '', (150, 75), (60, -1))
        self.sc.SetRange(-459, 1000)
        self.sc.SetValue(0)
       
        compute_btn = wx.Button(self, 1, '计 算', (70, 250))
        compute_btn.SetFocus()
        clear_btn = wx.Button(self, 2, '关 闭', (185, 250))
       
        self.Bind(wx.EVT_BUTTON, self.OnCompute, id=1)
        self.Bind(wx.EVT_BUTTON, self.OnClose, id=2)
        self.Bind(wx.EVT_CLOSE, self.OnClose)
       
    def OnCompute(self, event):
        fahr = self.sc.GetValue()
        cels = round((fahr-32)*5/9.0, 2)
        self.celsius.SetLabel(str(cels))
       
    def OnClose(self, event):
        self.Destroy()       
       
class MyApp(wx.App):
    def OnInit(self):
        dlg = MyDialog(None, -1, 'spinctrl.py')
        dlg.Show(True)
        dlg.Center()
        return True

app = MyApp(0)
app.MainLoop()
 

程序 spinctrl.py 是一个基于对话框脚本. 这里主要的类继承自 wx.Dialog,而不是 wx.Frame.

区别在于不能缩放窗口,以及在退出应用时,调用 Destroy() 而不是 Close() 方法. 它的功能是将法式温度转换为摄氏温度。

如图:

wxpython核心部件wx.spinctrl