PS实用技巧:用原始图片制作显示(正常状态)、鼠标悬浮(hover)、鼠标点击(pressed)的方法

需求


        从网上下载图片很难下载到整套,包括一个按键的三种状态或者是多个图标非同色系,笔者没有整体配色,只讲述PS比较简单的制作方法,目前满足日常使用。

原理


        使用PS进行修改制作

实现步骤


步骤一:打开图标文件


步骤二:增加背景图层


步骤三:修改背景图层的颜色和透明度(hover状态的)


步骤五:剪裁保存(可设置剪裁大小),最好是另外存储文件“文件”中的“存储为”,注意存储格式,hover状态的到此结束。


步骤六:修改图标图标实体的颜色


步骤七:删掉“背景”图层,直接选中“图层0”新建背景图层,对背景使用填充进行上色,保存参照 步骤五


所制作的示例:


<think>好的,我现在需要回答用户关于QTableWidget中QHeaderView的section状态种类的问题,尤其是除了hoverpressed之外的其他状态。首先,我得回忆一下Qt的文档和相关知识。 Qt中的样式表使用伪状态来定义不同情况下的样式。对于QHeaderView的section,常见的状态应该包括正常状态、悬停(hover)、按下(pressed)、选中(selected)等。但用户已经提到了hoverpressed,所以需要确认还有哪些其他可能的状态。 我记得Qt的控件状态有多个,比如:disabled(禁用状态)、:active(活动状态)、:checked(被选中状态,适用于可勾选的header)、:focus(焦点状态)等。不过,QHeaderView的section是否支持这些状态呢?比如,如果header可以被选中或排序,可能会有对应的状态。 另外,可能还有默认状态,即没有任何交互时的普通状态。这时候不需要任何伪状态修饰。比如直接定义QHeaderView::section的样式,就适用于普通状态。 需要验证这些状态是否适用于QHeaderView的section。比如,当header的某个section被点击后处于排序状态,是否有对应的:sort或类似的状态?或者是否使用属性选择器,比如[sortIndicator="true"]这样的方式? 根据Qt的文档,QHeaderView的section支持以下伪状态: - :horizontal(水平header) - :vertical(垂直header) - :checked(当header带有复选框并被选中时) - :unchecked(复选框未选中) - :sort-asc(排序指示器升序) - :sort-desc(排序指示器降序) 不过这些可能属于不同的类别。例如,排序的状态可能通过属性来设置,而不是伪状态。或者可能需要使用子控件选择器,比如::sort-indicator。 另外,用户提到的状态可能包括是否被禁用(:disabled),或者是否处于活动窗口(:active)。比如,当窗口处于非活动状态时,section的样式可能会变化。 需要确保这些状态确实适用于QHeaderView的section。例如,当用户将鼠标悬停在section上,使用:hover点击时是:pressed;而排序状态可能需要通过其他方式表示。或者,排序指示器的状态可能属于子控件的样式,而不是section本身的状态。 总结起来,除了hoverpressed之外,QHeaderView的section可能支持的状态有: - :disabled:当header被禁用时 - :selected:当section被选中(但需要确认header是否支持选中) - :checked:如果section有复选框并被勾选 - :unchecked:复选框未被勾选的状态 - :sort-asc和:sort-desc:当section的排序指示器显示升序或降序时 - :focus:当section获得焦点(可能不常见,但理论上可能) - :default:默认状态,可能不常用 此外,可能还可以根据其他属性,如section是否可点击,是否被移动等,但可能这些需要结合其他选择器。 还需要参考用户提供的引用内容,是否有相关的样式设置。例如,引用[3]提到了设置列宽平均分配,但没有直接提到状态。引用[2]提到了header的设置,如ResizeToContents和StretchLastSection,但同样不涉及状态。 因此,最终的结论是,除了hoverpressed之外,QHeaderView的section的状态可能包括checked、unchecked、sort-asc、sort-desc、disabled等。需要确认这些状态是否确实可用,并正确应用在样式表中。</think>在QTableWidget的QHeaderView中,section的样式表支持多种交互状态,除了常见的`:hover`(悬停)和`:pressed`(按下)状态外,还包括以下重要状态: 1. **`:disabled`** 当表头被禁用时生效,例如: ```css QHeaderView::section:disabled { background: gray; } ``` 2. **`:checked` 与 `:unchecked`** 适用于带复选框的表头(需设置`setClickable(true)`): ```css QHeaderView::section:checked { border: 2px solid green; } QHeaderView::section:unchecked { border: 1px solid red; } ``` 3. **排序指示器状态** 通过子控件选择器定义排序图标样式: ```css QHeaderView::section::sort-indicator:ascending { image: url(asc.png); } QHeaderView::section::sort-indicator:descending { image: url(desc.png); } ``` 4. **方向状态** 区分水平/垂直表头: ```css QHeaderView::section:horizontal { font-weight: bold; } QHeaderView::section:vertical { color: blue; } ``` 5. **`:selected`** 当表头被选中时触发(需结合选择模式设置): ```css QHeaderView::section:selected { background: #FFD700; } ``` --- ### 代码示例 ```cpp // 启用表头排序功能 ui->tableWidget->setSortingEnabled(true); // 设置表头可点击(允许触发状态变化) ui->tableWidget->horizontalHeader()->setSectionsClickable(true); ``` ```css /* 综合样式表示例 */ QHeaderView::section { padding: 4px; border: 1px solid #D3D3D3; /* 默认状态 */ } QHeaderView::section:hover { background: #F0F0F0; /* 悬停状态 */ } QHeaderView::section:pressed { background: #DCDCDC; /* 按下状态 */ } QHeaderView::section:checked { background: #E6F3FF; /* 复选框选中状态 */ } ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长沙红胖子Qt(技术Q群4597637)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值