PythonStudio 控件使用常用方式(十八)TCategoryButtons

PythonStudio是一个极强的开发Python的IDE工具,它使用的是Delphi的控件,常用的内容是与Delphi一致的。但是相关文档并一定完整。现在我试试能否逐步把它的控件常用用法写一点点,也作为PythonStudio的参考。

从1.2.1版开始,PythonStudio又增加了很多新的控件。

TCategoryButtons是一个分类按钮组,很适合做侧边栏
在这里插入图片描述

组件位置

TCategoryButtons位于Additional下

搭建按钮组

从层级来看,按钮组层级关系是
Categories->TButtonCategory->Items->Button

所以,在搭建过程中,需要先建立 TButtonCategory,比如图中显示的手机、电脑、电视这一个类别,然后再建立 按钮,如华为,苹果等。

建立类别

把组件建立在窗体中后,就是一个方框,右键点方框,选择Categories Editor,或双击这个方框,就可以建立类别了
在这里插入图片描述
如图,这个对话框有四个按钮,分别是新建类别、删除类别、上移和下移。

命名类别

选中类别后,修改其Caption属性即可
在这里插入图片描述

增加按钮、命名按钮

先点类别左边的箭头,出现Items,右键点Item,选择“Collection Editor”,或双击Items,编辑按钮
在这里插入图片描述
这个操作和建立类别一样,不多说

设置格式

在这里插入图片描述

对齐

如果想变成侧边栏,设置Align为alLeft
不想变那就随意

按钮选项

                  boAllowReorder,             //允许用户在运行时可拖动按钮改变顺序 
                  boAllowCopyingButtons,      //允许用户在运行时复制按钮 
                  boFullSize,                 //设置按钮的最大宽度,达到整个容器的宽度 
                  boGradientFill,             //Color作为结束色渐变填充 
                  boShowCaptions              //开关按钮标题,类别的标题仍然显示 
                 boVerticalCategoryCaptions, //当一个类别展开后,此类别标题出现在垂直端 
                  boBoldCaptions,             //类别标题加粗 
                 boUsePlusMinus,             //使用+/-标志类别的展开和折叠,否则使用箭头标志 
                 boCaptionOnlyBorder         //当类别标题折叠起来时,在按钮周围画边框 

其他外观选项

BackgroundGradientColor := clNone; //背景渐变填充颜色
BackgroundGradientDirection := gdHorizontal; //背景渐变填充方向
BorderStyle := bsNone; //边框风格,设成无边框
ButtonFlow := cbfVertical; //类别按钮方向
ButtonHeight := 48; //类别里的按钮高
ButtonWidth := 48; //类别里的按钮宽
Color := clWhite; //背景色
GradientDirection := gdHorizontal; //前景渐变色填充方向
HotButtonColor := RGB(254,202,115); //按钮的热点颜色

图标

如果你愿意给按钮加一些图标,需要也加入 TImageList 组件,用法在前面TButtonEdit里讲过,可以去看

然后在Images加进后,在各个按扭的ImageIndex中设置索引号

添加方法

给每个按钮加一个Onclick事件就完了。

一些简单的代码

修改已有类别或按钮的属性

可以用类似如下的形式:

self.CategoryButtons1.Categories[0].Items[0].Caption="新的标题" 

用Categroies[i]来确定类别,用Items[i]来确认按钮,Caption只是一个属性的示例。

建立新的类别或按钮

假如添加组件后,并没有使用编辑器进行类别和按钮的添加,可以采取以下方式建立完整的内容

        # 新建类别
        self.CategoryButtons1.Categories.Add()
        # 类别显示的标题
        self.CategoryButtons1.Categories[0].Caption="手机"
        # 在类别下新建按钮,并设置标题
        self.CategoryButtons1.Categories[0].Items.Add()
        self.CategoryButtons1.Categories[0].Items[0].Caption="华为"
        self.CategoryButtons1.Categories[0].Items.Add()
        self.CategoryButtons1.Categories[0].Items[1].Caption="苹果"
        self.CategoryButtons1.Categories[0].Items.Add()
        self.CategoryButtons1.Categories[0].Items[2].Caption="小米"

        # 外观设置
        self.CategoryButtons1.ButtonOptions= [boFullSize, boGradientFill, boShowCaptions, boVerticalCategoryCaptions]

在这里插入图片描述
效果如上图

事件的处理

通过对整个CategoryButton的点击事件,利用SelectedItem,可以对当前按钮进行处理,如:

    def CategoryButtons1Click(self, Sender):
    	# 显示点中按钮的标题
        ShowMessage(Sender.SelectedItem.Caption)
        # 显示点中按钮所属的类别标题
        ShowMessage(Sender.SelectedItem.Category.Caption)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值