wxPython中PropertyGrid控件的简单用法

        pg.Append( wxpg.PropertyCategory("1 - Basic Properties") )
        pg.Append( wxpg.StringProperty("String",value="Some Text") )
        pg.Append( wxpg.IntProperty("Int",value=100) )
        pg.Append( wxpg.FloatProperty("Float",value=100.0) )
        pg.Append( wxpg.BoolProperty("Bool",value=True) )
        pg.Append( wxpg.BoolProperty("Bool_with_Checkbox",value=True) )
        pg.SetPropertyAttribute("Bool_with_Checkbox", "UseCheckbox", True)

以上提供了5种属性窗口,其中BOOL属性有两种选择方式:ComboBox / CheckBox。

        pg.Append( wxpg.PropertyCategory("2 - More Properties") )
        pg.Append( wxpg.LongStringProperty("LongString",
            value="This is a\\nmulti-line string\\nwith\\ttabs\\nmixed\\tin."))
        pg.Append( wxpg.DirProperty("Dir",value="C:\\Windows") )
        pg.Append( wxpg.FileProperty("File",value="C:\\Windows\\system.ini") )
        pg.Append( wxpg.ArrayStringProperty("ArrayString",value=['A','B','C']) )

        pg.Append( wxpg.EnumProperty("Enum","Enum",
                                     ['wxPython Rules',
                                      'wxPython Rocks',
                                      'wxPython Is The Best'],
                                     [10,11,12],
                                     0) )
        pg.Append( wxpg.EditEnumProperty("EditEnum","EditEnumProperty",
                                         ['A','B','C'],
                                         [0,1,2],
                                         "Text Not in List") )
ArrayStringProperty - 不常用,会弹出一个可编辑的选择窗口。

EnumProperty - 枚举属性,常用,下拉列表式选择,不可更改(EditEnumProperty可改)。

控件问题:列表中的选择项不可更换(也许我没找到对应的API?!)

临时方案:删除该项,在重新添加。

pg.DeleteProperty("Key")

EnumProperty - 最后一个参数只接受整数。

EditEnumProperty -  最后一个参数只接受字符串。


获取属性值:

pg.GetPropertyValue("Key")

注:EditEnumProperty 的返回值有字符串和数值两种。

或者

pg.GetPropertyValue(pg.GetPropertyByLabel("Label"))



你可能感兴趣的:(windows,properties,String,basic,float,wxPython)