wxPython – wx.StatusBar中的SetStatusWidths()函数
在这篇文章中,我们将学习与wxPython的wx.StatuBar类相关的SetStatusWidths()函数。SetStatusWidths()函数设置状态行中字段的宽度。
有两种类型的字段:固定宽度和可变宽度的字段。对于固定宽度的字段,你应该以像素为单位指定其(恒定)宽度。对于可变宽度的字段,应指定一个负数,表示该字段应如何扩展:所有可变宽度的字段所剩的空间是根据这个数字的绝对值来划分的。一个宽度为-2的可变宽度字段得到的空间是宽度为-1的字段的两倍,以此类推。
语法:wx.StatuBar.SetStatusWidths(self, widths)
参数。
参数 | 输入类型 | 说明 |
---|---|---|
widths | 列表中的ints | 要设置的文本。使用一个空字符串(””)来清除该字段。 |
i | int | 包含一个n个整数的数组,每个整数如果是正数,则是绝对的状态字段宽度,如果是负数,则表示一个可变宽度的字段。特殊值None表示所有字段都应该得到相同的宽度。 |
代码示例。
import wx
class Example(wx.Frame):
def __init__(self, *args, **kwargs):
super(Example, self).__init__(*args, **kwargs)
self.InitUI()
def InitUI(self):
self.locale = wx.Locale(wx.LANGUAGE_ENGLISH)
self.statusbar = wx.StatusBar()
self.statusbar.Create(self, id = 1, name = "Status Bar")
self.SetStatusBar(self.statusbar)
self.SetSize((350, 250))
self.statusbar.SetFieldsCount(3)
# SET WIDTHS FOR CORRESPONDING FIELD
self.statusbar.SetStatusWidths([100, 80, 60])
# SET TEXT FOR ALL FIELDS
self.statusbar.SetStatusText("Field One", 0)
self.statusbar.SetStatusText("Field Two", 1)
self.statusbar.SetStatusText("Field Three", 2)
self.SetTitle('New Frame Title')
self.Centre()
print(self.statusbar.GetMinHeight())
def main():
app = wx.App()
ex = Example(None)
ex.Show()
app.MainLoop()
if __name__ == '__main__':
main()
输出窗口: