通过调色板(QPalette)将readonly为true的QLineEdit颜色设置为灰色

本文介绍如何使用Qt调色板设置QLineEdit控件在只读状态下的背景颜色为灰色,模仿禁用状态的颜色表现,并解释了readonly与disable属性的区别。

当将QLineEdit的readonly为true后,QLineEdit颜色默认情况下依然为白色,现在要设置为灰色(类似disable属性为true的颜色),除了用样式表设置外,调色板也可以实现,代码如下:

    escapedPatternLineEdit = new QLineEdit;
    escapedPatternLineEdit->setReadOnly(true);

    // 获取编辑框的调色板
    QPalette palette = escapedPatternLineEdit->palette();
    palette.setBrush(QPalette::Base,
                     palette.brush(QPalette::Disabled, QPalette::Base));
    escapedPatternLineEdit->setPalette(palette);

其中

 palette.brush(QPalette::Disabled, QPalette::Base));

返回编辑框的文本框(第2个参数QPalette::Base参数表示)禁用状态(第1个参数QPalette::Disabled表示)下的画刷。其中下述代码:

palette.setBrush(QPalette::Base,
                     palette.brush(QPalette::Disabled, QPalette::Base));

设置编辑框的文本框(第一个参数QPalette::Base表示)的画刷(第二参数表示)。

关于编辑框的readonly和disable属性的区别,请参见:《QLineEdit的readonly、disable属性的区别》

{"Barcode":{"Value":"true","Alias":"条码识别","Description":"是否启用条码识别功能"},"Basic":{"ConfigFile":{"Value":"false","Alias":"配置文件","Description":"是否启用配置文件功能"},"Defocus":{"Value":"false","Alias":"离焦","Description":"是否启用离焦检测功能"},"DriverPos":{"Value":"false","Alias":"驱动位置","Description":"是否启用驱动位置记录"},"Position":{"Value":"false","Alias":"位置检测","Description":"是否启用位置检测功能"},"ThroughFocusData":{"Value":"false","Alias":"对焦数据","Description":"是否启用对焦过程数据采集"},"Time":{"Value":"false","Alias":"时间戳","Description":"是否启用时间戳记录"},"TrayName":{"Value":"false","Alias":"托盘名称","Description":"是否启用托盘名称识别"}},"CameraCounts":{"Value":"false","Alias":"相机数量","Description":"是否启用相机数量统计"},"Defocus":{"Value":"false","Alias":"全局离焦","Description":"是否启用全局离焦检测"},"GroupDefine":{"Value":"false","Alias":"分组定义","Description":"是否启用自定义分组功能"},"Normal":{"A2DOF":{"A2DOF":{"Value":"true","Alias":"2D对焦分析","Description":"是否启用2D对焦分析"},"A2DOFAvg":{"Value":"false","Alias":"平均2D对焦","Description":"是否启用平均2D对焦分析"},"AvgMinus":{"Value":"false","Alias":"平均负偏移","Description":"是否启用平均负偏移分析"},"AvgPlus":{"Value":"false","Alias":"平均正偏移","Description":"是否启用平均正偏移分析"},"Minus":{"Value":"false","Alias":"负偏移","Description":"是否启用负偏移分析"},"OffAxis":{"Value":"false","Alias":"离轴分析","Description":"是否启用离轴对焦分析"},"OffAxisAvg":{"Value":"false","Alias":"平均离轴","Description":"是否启用平均离轴对焦分析"},"OnAxis":{"Value":"false","Alias":"轴上对焦","Description":"是否启用轴上对焦分析"},"OnAxisAvg":{"Value":"false","Alias":"平均轴上","Description":"是否启用平均轴上对焦分析"},"Plus":{"Value":"false","Alias":"正偏移","Description":"是否启用正偏移对焦分析"}},"Astigmatism":{"Value":"false","Alias":"像散分析","Description":"是否启用像散分析功能"},"DOF":{"Cameras":{"Value":"false","Alias":"相机对焦","Description":"是否启用相机对焦分析"},"DOF":{"Value":"true","Alias":"景深分析","Description":"是否启用景深分析功能"},"Group":{"Value":"false","Alias":"分组景深","Description":"是否启用分组景深分析"},"Minus":{"Value":"false","Alias":"负景深","Description":"是否启用负景深分析"},"Plus":{"Value":"false","Alias":"正景深","Description":"是否启用正景深分析"}},"EFL":{"Value":"true","Alias":"有效焦距","Description":"是否启用有效焦距分析"},"FFL":{"Value":"true","Alias":"前焦距","Description":"是否启用前焦距测量"},"FieldPositionMTF":{"Value":"false","Alias":"场位置MTF","Description":"是否启用场位置调制传递函数分析"},"FocalShift":{"Value":"true","Alias":"焦点偏移","Description":"是否启用焦点偏移分析"},"FocalShiftData":{"Cameras":{"Value":"true","Alias":"相机焦点偏移","Description":"是否启用相机焦点偏移数据采集"},"Group":{"Value":"false","Alias":"分组焦点偏移","Description":"是否启用分组焦点偏移分析"},"Negative":{"Value":"false","Alias":"负向偏移","Description":"是否启用负向焦点偏移分析"},"Positive":{"Value":"false","Alias":"正向偏移","Description":"是否启用正向焦点偏移分析"}},"FocalShiftGroup":{"Value":"false","Alias":"分组焦点偏移分析","Description":"是否启用分组焦点偏移功能"},"FocalShiftSingle":{"Value":"false","Alias":"单点焦点偏移","Description":"是否启用单点焦点偏移分析"},"HalfFOV":{"Value":"false","Alias":"半视场","Description":"是否启用半视场分析"},"LSFPeaks":{"Value":"false","Alias":"线扩展函数峰值","Description":"是否启用LSF峰值分析"},"MTF":{"Value":"true","Alias":"调制传递函数","Description":"是否启用MTF分析"},"MTFAverageAllCameras":{"Value":"false","Alias":"所有相机平均MTF","Description":"是否启用所有相机MTF平均分析"},"MTFPeaks":{"Value":"false","Alias":"MTF峰值","Description":"是否启用MTF峰值分析"},"MTFRatio":{"Value":"false","Alias":"MTF比率","Description":"是否启用MTF比率分析"},"MultiFrqMTF":{"Value":"true","Alias":"多频MTF","Description":"是否启用多频调制传递函数分析"},"PeakMTF":{"Value":"false","Alias":"峰值MTF","Description":"是否启用峰值MTF分析"},"PeakMTFAverage":{"Value":"false","Alias":"平均峰值MTF","Description":"是否启用平均峰值MTF分析"},"PeakRange":{"Value":"false","Alias":"峰值范围","Description":"是否启用峰值范围分析"},"SymmetricalFieldMTF":{"Value":"false","Alias":"对称场MTF","Description":"是否启用对称场MTF分析"},"SymmetricalGroupMTF":{"Value":"true","Alias":"对称组MTF","Description":"是否启用对称组MTF分析"},"Tilt":{"Angle":{"Value":"false","Alias":"倾斜角度","Description":"是否启用倾斜角度分析"},"Azimuth":{"Value":"false","Alias":"方位角","Description":"是否启用方位角分析"},"Type":{"Value":"false","Alias":"倾斜类型","Description":"是否启用倾斜类型分析"}}},"Result":{"Aggregate":{"Value":"false","Alias":"汇总结果","Description":"是否启用结果汇总"},"Astigmatism":{"Value":"true","Alias":"像散结果","Description":"是否启用像散结果输出"},"Average":{"Value":"false","Alias":"平均结果","Description":"是否启用平均结果输出"},"DOF":{"Value":"false","Alias":"景深结果","Description":"是否启用景深结果输出"},"FOV":{"Value":"false","Alias":"视场结果","Description":"是否启用视场结果输出"},"FailReason":{"Value":"false","Alias":"失败原因","Description":"是否启用失败原因记录"},"Final":{"Value":"true","Alias":"最终结果","Description":"是否启用最终结果输出"},"FocalShift":{"Value":"false","Alias":"焦点偏移结果","Description":"是否启用焦点偏移结果输出"},"MTF":{"Value":"false","Alias":"MTF结果","Description":"是否启用MTF结果输出"},"MultiFrqMTF":{"Value":"false","Alias":"多频MTF结果","Description":"是否启用多频MTF结果输出"}}}增加一列序号,在完善代码
08-26
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值