Wx.Gauge控件可以在確定的以及不確定模式中使用。當(dāng)完成任何操作所需的時(shí)間可以被相當(dāng)精確地確定,測量儀進(jìn)度條顯示已完成任務(wù)的百分比。然而如果在不確定模式,它只是表示該過程正在進(jìn)行中。
wx.Gauge(parent, id, range, pos, size, style)
| S.N. |
參數(shù)和說明
|
|---|---|
| 1 |
wx.GA_HORIZONTAL
進(jìn)度條的橫向布局
|
| 2 |
wx.GA_VERTICAL
進(jìn)度條的垂直布局
|
| 3 |
wx.GA_SMOOTH
平滑的進(jìn)度條使用一個(gè)像素寬度的更新步驟
|
| 4 |
wx.GA_TEXT
顯示當(dāng)前值在百分比形式
|
此類一些的重要的方法列于下表中 −
| S.N. |
方法和說明
|
|---|---|
| 1 |
GetRange()
返回gauge的最大值
|
| 2 |
SetRange()
設(shè)置gauge的最大值
|
| 3 |
GetValue() 返回當(dāng)gauge的值 |
| 4 |
SetValue()
以編程方式設(shè)置當(dāng)前值
|
| 5 |
Pulse()
切換gauge到不確定模式
|
self.gauge = wx.Gauge(pnl, range = 20, size = (250, 25), style = wx.GA_HORIZONTAL)
self.btn1 = wx.Button(pnl, label = "Start") self.Bind(wx.EVT_BUTTON, self.OnStart, self.btn1)
def OnStart(self, e):
while True:
time.sleep(1);
self.count = self.count + 1
self.gauge.SetValue(self.count)
if self.count >= 20:
print "end"
return
import wx
import time
class Mywin(wx.Frame):
def __init__(self, parent, title):
super(Mywin, self).__init__(parent, title = title,size = (300,200))
self.InitUI()
def InitUI(self):
self.count = 0
pnl = wx.Panel(self)
vbox = wx.BoxSizer(wx.VERTICAL)
hbox1 = wx.BoxSizer(wx.HORIZONTAL)
hbox2 = wx.BoxSizer(wx.HORIZONTAL)
self.gauge = wx.Gauge(pnl, range = 20, size = (250, 25), style = wx.GA_HORIZONTAL)
self.btn1 = wx.Button(pnl, label = "Start")
self.Bind(wx.EVT_BUTTON, self.OnStart, self.btn1)
hbox1.Add(self.gauge, proportion = 1, flag = wx.ALIGN_CENTRE)
hbox2.Add(self.btn1, proportion = 1, flag = wx.RIGHT, border = 10)
vbox.Add((0, 30))
vbox.Add(hbox1, flag = wx.ALIGN_CENTRE)
vbox.Add((0, 20))
vbox.Add(hbox2, proportion = 1, flag = wx.ALIGN_CENTRE)
pnl.SetSizer(vbox)
self.SetSize((300, 200))
self.Centre()
self.Show(True)
def OnStart(self, e):
while True:
time.sleep(1);
self.count = self.count + 1
self.gauge.SetValue(self.count)
if self.count >= 20:
print "end"
return
ex = wx.App()
Mywin(None,'wx.Gauge - www.yiibai.com')
ex.MainLoop()

