qt中透明度表示

打印 上一主题 下一主题

主题 1043|帖子 1043|积分 3129

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
透明度的表示方法

在 Qt 样式表中,使用 rgba 或 argb 颜色表示法时,透明度通常用一个介于 0 和 1 之间的小数表示。


  • rgba 表示法:rgba(red, green, blue, alpha),其中 alpha 是透明度,比方 rgba(255, 0, 0, 0.5) 表示半透明的赤色。这里,0.5 表示 50% 的透明度。
  • argb 表示法:#AARRGGBB,其中 AA 是透明度部门,以十六进制表示,范围是 00(完全透明)到 FF(完全不透明)。比方,#80FF0000 表示半透明的赤色,因为 80 是十六进制的 128,而 FF 是 255,所以 80 表示 50% 的透明度(128/255 ≈ 0.5)。
如何确定合适的透明度




  • 视觉测试

    • 你可以从一些常见的透明度值开始,比方 0.1、0.3、0.5、0.7 和 0.9 等,将这些值应用到你想要设置透明度的元素上,观察效果。在 style.qss 中,你可以如许写:

      • 运行你的 Qt 应用程序,查看元素在不同透明度下的显示效果,看哪个值最符合你的期望。

     
    1. QListWidget::item:selected:hover {
    2.     background: rgba(0, 0, 0, 0.5); /* 这里使用 rgba 表示法设置 50% 透明度的黑色背景 */
    3. }
    复制代码

  • 对比测试

    • 创建多个相同的元素,为每个元素设置不同的透明度值,将它们排列在一起,如允许以更直观地比较它们的效果。比方:

      • 如许,你可以清晰地看到不同透明度的 QWidget 并选择最适合的一个。

     
    1. QWidget#widget1 {
    2.     background: rgba(0, 0, 0, 0.3);
    3. }
    4. QWidget#widget2 {
    5.     background: rgba(0, 0, 0, 0.5);
    6. }
    7. QWidget#widget3 {
    8.     background: rgba(0, 0, 0, 0.7);
    9. }
    复制代码
        

    • 在你的代码中创建三个 QWidget 并给它们分别设置 objectName:

     
  • 结合计划工具

    • 如果你使用一些计划工具,如 Qt Designer,你可以在工具中调整元素的透明度,这些工具通常提供了更直观的操纵界面,你可以实时看到效果。虽然最终的透明度代码可能需要手动调整,但可以资助你找到一个大致的范围。
    • 一些图像编辑软件(如 Photoshop、GIMP 等)也可以资助你确定透明度,你可以在软件中创建一个带有不同透明度的颜色块,然后将其与你想要的效果进行对比,再将最终的透明度值转换为 Qt 样式表中的表示情势。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

圆咕噜咕噜

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表