PythonStudio是一个极强的开发Python的IDE工具,它使用的是Delphi的控件,常用的内容是与Delphi一致的。但是相关文档并一定完整。现在我试试能否逐步把它的控件常用用法写一点点,也作为PythonStudio的参考。
从1.2.1版开始,PythonStudio又增加了很多新的控件。
TCheckListBox是一个检查清单框,可以理解为是一个条目复选框的组合,正常情况大概样子如下图
组件位置
位于Additional下
常用属性和方法
AllowGrayed属性
如果是False,则只能对条目打勾或不打勾两态,如果True,则可以为打勾,不打勾,灰色,三态
State属性
每一个条目的值 可以通过 self.CheckListBox1.State[0]来获得。
State属性可以设置,也可以获取,三个状态时的值 分别是:
- 打勾时,值 为cbChecked
- 未打勾时,值 为cbUnchecked
- 灰色时,值 为cbGrayed
举个例子,输入以下代码,可以初始化CheckListBox
python
def Button1Click(self, Sender):
# 允许三态
self.CheckListBox1.AllowGrayed=True
# 添加选项
self.CheckListBox1.Items.Add("身份证")
self.CheckListBox1.Items.Add("钥匙")
self.CheckListBox1.Items.Add("手机")
self.CheckListBox1.Items.Add("充电宝")
# 设置状态
self.CheckListBox1.State[0]="cbChecked"
self.CheckListBox1.State[1]="cbGrayed"
如下图
Checked属性
判断条目是否被打勾,它的语法是
python
self.CheckListBox1.Checked[0]
如果是打勾了,它才返回True,其他两个状态都返回False
Selected属性与ItemIndex
注意,这个是判断条目是否被选中,它的语法是
python
self.CheckListBox1.Selected[0]
无论打勾了还是其他两个状态,只要它被选中,都返回True
同样,用ItemIndex可以获取当前被选中的条目的索引
python
ShowMessage(self.CheckListBox1.ItemIndex)
ItemEnabled属性和Enabled
众所周知的Enabled是整个控件能否使用
ItemEnabled是单个条目是否可用,如果禁用第三个条目,它的语法是
python
self.CheckListBox1.ItemEnabled[2]=False
同样,也可以读取这个属性。
Item属性
Item可以添加、插入、删除、移动条目
python
# 添加
self.CheckListBox1.Items.Add("身份证")
# 插入
self.CheckListBox1.Items.Insert(0,"在第0个位置插入一条")
# 删除
self.CheckListBox1.Items.Delete(0)
# 移动 从第0项移到第2项
self.CheckListBox1.Items.Move(0,2)
GetCount方法
GetCount是取得所有条目的总数
通过这个方法,可以通过遍历所有条目,来获取已选中的条目列表
比如:
python
def Button2Click(self, Sender):
lst=[]
for i in range(self.CheckListBox1.GetCount()):
if self.CheckListBox1.Checked[i]:
lst.append(self.CheckListBox1.Items[i])
ShowMessage("\n".join(lst))
OnClickCheck方法
如果给一个条目打勾或取消,会触发这个事件,可以用这个事件来写一些类似验证等扩展代码。