• wxpython StatuBar 带进度条的状态栏



    # -*- coding: utf-8 -*- import wx class customStatusBar(wx.StatusBar): def __init__(self, parent): wx.StatusBar.__init__(self,parent,-1) self.SetFieldsCount(2) self.SetStatusWidths([-2,-1]) self.count=0 print parent.GetSize() self.gauge=wx.Gauge(self,1001,100,pos=(2,2),size=(parent.GetSize()[0],20),style = wx.GA_HORIZONTAL) self.gauge.SetBezelFace(3) self.gauge.SetShadowWidth(3) self.gauge.SetValue(50) class priceFrame(wx.Frame): def __init__(self, parent, id): wx.Frame.__init__(self, parent, id, U'带进度条的状态栏', size=(410, 385), style=wx.MINIMIZE_BOX | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX) self.openfilename='' self.status = customStatusBar(self) self.SetStatusBar(self.status) if __name__ == '__main__': app = wx.PySimpleApp() frame = priceFrame(parent=None, id=-1) frame.Show() app.MainLoop()

    CreateStatusBar()用来增加一个状态栏。

    SetFieldsCount()方法设置将状态分为几个区。

    SetStatusText()用于设置状态栏内容。

    SetStatusWidth()用于设置各栏宽度,该方法要求一个整数的Python列表作为参数,列表的长度必须和状态栏中哉的数量一致。按列表中整数的顺序来计算对应域的宽度。如果整数是正值,那么宽度是固定的。如果你想域的宽度随框架的变化而变化,那么应该使用负值。负值的绝对值代表域的相对宽度;可以把它认为是所占总宽度的比例。例如调用statusbar.SetStatusWidth([-1, -2,-3])方法所导致的各域从左到右的宽度比例是1:2:3。

    statusBar = wx.StatusBar(self, -1)# 实例化 wx.StatusBar
    statusBar.SetFieldsCount(3) # 状态栏分成3个区域
    statusBar.SetStatusWidths([-1,-1,-1]) #区域宽度比列,用负数
    statusBar.SetStatusText("A Custom StatusBar...", 0) #给状态栏设文字
    self.SetStatusBar(statusBar) #将状态栏附加到框架上
    statusBar = self.CreateStatusBar() #调用框架wx.frame的CreateStatusBar方法
    statusBar.statusBar.SetFieldsCount(3) # 状态栏分成3个区域
    statusBar.SetStatusWidths([-1,-1,-1]) #区域宽度比列,用负数
    statusBar.SetStatusText("A Custom StatusBar...", 0) #给状态栏设文字
  • 相关阅读:
    通过日期获得星期方法
    去掉标签方法
    获取当前时间方法
    根据身份证计算年龄方法
    查询日志
    Vagrant打造Laravel开发环境(LNMP)
    mysql创建索引以及进程过程中出现的问题
    array_to_sql
    Linux创建快捷方式(链接)命令ln
    Mac搭建PHP Phalcon框架
  • 原文地址:https://www.cnblogs.com/whwywzhj/p/6139107.html
Copyright © 2020-2023  润新知