Qt 边框border - qss样式

border属性

        实际上,border并不是一个单独的属性,在Qt样式表中,它通常指的是一系列与边框相关的属性的组合然而,你也可以在一条样式规则中一次性设置所有这些值,如下所示:

QPushButton { border: 2px solid #007BFF; /* 四个边框宽度均为2px,样式为实线,颜色为蓝色 */ 
}

border-width

        border-width属性用于设置边框的宽度。

1)这个属性可以接受一到四个值,分别对应边框的上、右、下、左(顺时针方向)的宽度当指定不同数量的值时,它们的含义如下:

  • border-width: 2px; 这表示所有四个边框(上、右、下、左)的宽度都被设置为2px
  • border-width: 2px 7px; 在这种情况下,第一个值2px应用于上下边框(即顶部和底部边框的宽度都是2px),而第二个值7px应用于左右边框(即左侧和右侧边框的宽度都7px)。

  • border-width: 2px 5px 8px; 这里,第一个值2px是顶部边框的宽度,第二个值5px是左右边框的宽度,第三个值8px是底部边框的宽度。左侧和右侧边框的宽度是相同的,因为它们共享第二个值。

  • border-width: 2px 3px 4px 6px; 这是最具体的形式,允许你为每个边框分别设置宽度。第一个值2px是顶部边框的宽度,第二个值3px是右侧边框的宽度,第三个值4px是底部边框的宽度,第四个值6px是左侧边框的宽度。

2)通过其他方式设置

QPushButton {border-top-width: 1px;border-right-width: 2px;border-bottom-width: 3px;border-left-width: 4px; /* 分别设置各边框的宽度 */
}
border-style

        border-style属性定义了边框的样式。以下是一些border-style属性常用的值

  • none边框不显示。这意味着边框的宽度为0,或者边框的样式设置为不可见。
  • dotted定义点状边框。边框由一系列圆点组成,圆点之间的空间由边框宽度和点的样式共同决定。
  • dashed定义虚线边框。边框由一系列短划线组成,短划线之间的空间是均匀的。
  • solid定义实线边框。边框是连续的、不间断的线。
  • double定义双边框。这通常意味着有两条平行线,它们之间的空间以及每条线的宽度都取决于border-width的设置两条线和它们之间的空间总共为border-width值,故该值太小可能显示为单线边框。不过,在Qt中,双边框的具体渲染可能会因平台或控件的不同而有所差异。
  • groove定义3D凹槽边框的效果。这种边框看起来像是控件表面上的一个凹槽。边框的颜色可能比控件的背景色更暗,以营造内嵌效果。但是,具体的视觉效果可能取决于边框颜色和控件的背景色。
  • ridge定义3D凸槽边框的效果。与groove相反,这种边框看起来像是控件表面上的一个凸起。边框的颜色可能比控件的背景色更亮,以营造浮雕效果。
  • inset 和 outset这两个值分别用于创建内嵌和浮雕的3D边框效果。inset 使边框看起来像是控件的一部分,向内凹陷;而outset 则使边框看起来像是从控件表面凸出的。然而,与grooveridge类似,这些效果的精确外观也取决于边框颜色和控件的背景色。

border-color

        border-color属性用于设置边框的颜色。你可以指定一个颜色值(如颜色名、十六进制颜色代码、RGB/RGBA值等)。

QPushButton { border-color: #007BFF; /* 蓝色边框 */ 
} 
/* 或者为每一边指定不同的颜色 */ 
QPushButton { border-top-color: red; border-right-color: green; border-bottom-color: blue;border-left-color: yellow;
}

border-radius

        设置边框的圆角半径。

        可以指定一个值:所有角相同,

        两个值:水平和垂直方向

        四个值:分别对应左上角、右上角、右下角、左下角。

 

border-image

        使用图像作为边框。这是一个更高级的特性,允许你指定一个图像,该图像将被平铺、拉伸或缩放以覆盖控件的边框区域。

QPushButton { border-image: url(:/images/border.png)
}

注意事项

1. border-style默认样式是 none无边框如果控件(如QLineEdit、QLabel等)没有设置边框样式或者边框样式被设置为none即使设置了border-width和border-color,边框实际上是不可见的

2. border-width属性,其默认值通常是0。这意味着,如果不设置边框宽度,控件将不会有可见的边框,因为边框的宽度被设置为零。

3. border-color默认值

  1. 如果控件(如QPushButton、QLabel等)没有设置边框样式(border-style)或者边框样式被设置为none,那么边框实际上是不可见的,因此讨论边框颜色的默认值在这种情况下并不适用。
  2. 如果控件的边框样式被设置为可见(如soliddashed等),并且没有指定border-color,则边框颜色的默认值通常会遵循以下规则:继承自父元素主题或默认样式故:使用时最好指定颜色,防止在不同环境下颜色显示不一致。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/54437.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

smardaten无代码这么牛逼?逻辑编排不用代码!

目录 前言 经典案例 ①计划编排:数据操作自动化 ②工单派工:流程变更自动化 smardaten能力解析 一、逻辑控制篇 (1)变量定义与操作 (2)数据校验与反馈 (3)动态数据获取与回填…

演示:基于WPF自绘的中国省份、城市、区县矢量地图

一、目的:演示一个基于WPF自绘的中国省份、城市、区县矢量地图 二、效果 国 省 市 三、功能 支持实际经纬度显示 支持平移,缩放等功能 显示中国地图 显示各个省份地图 显示各个省份地图(包含在表格中,包含缩率图) 显…

Android Studio报错: Could not find pub.devrel:easypermissions:0.3.0, 改用linux编译

在Android studio中去编译开源的仓库,大概率就是各种编译不过,一堆错误,一顿改错,基本上会耗费非常多时间,比如: 这个就是改gradle版本,改成7.2 ,修改完成之后,还有其他报…

rabbitmq容器化部署

目录 需求 容器化部署rabbitmq服务 部署服务 验证及访问服务 rabbitmq配置LTS 服务验证 rabbitmq配置集群 部署集群 1、创建一个存放配置文件的目录 2、创建配置文件 3、部署各个节点 集群验证 需求 容器化部署rabbitmq服务 基础版本 系统ubuntu 24,docke…

Java后端框架---Spring

目录 一.Spring是什么? 二.Spring Hello World 搭建 三.XML配置bean管理 1.bean标签 2.依赖注入 3.依赖注入的补充 四.注解配置bean管理 1.开启注解扫描 2.使用注解对类进行配置 3.自动注入 五.面向切面编程AOP 1.概述 2.通知 六.spring事务管理 1.数据库…

【踩坑】装了显卡,如何让显示器从主板和显卡HDMI都输出

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 背景介绍 装了显卡后,开机默认是从显卡的HDMI输出,但这很不方便。如何让视频仍然从主板输出?或者说让显卡HDMI和主板…

系统 IO

"裸奔"层次:不带操作系统的编程 APP(应用程序) -------------------------------- Hardware(硬件) 特点:简单,应用程序直接操作硬件(寄存器) 缺点: 1. 搞应用开发的必须要了解硬件的实现细节,能够看懂原理图…

LeetCode_sql_day24(1212.查询球队积分)

描述 表: Teams ------------------------- | Column Name | Type | ------------------------- | team_id | int | | team_name | varchar | ------------------------- team_id 是该表具有唯一值的列。 表中的每一行都代表一支独立足球队。表: Matches…

【笔记】2.1 半导体三极管(BJT,Bipolar Junction Transistor)

一、结构和符号 1. 三极管结构 常用的三极管的结构有硅平面管和锗合金管两种类型。各有PNP型和NPN型两种结构。 左图是NPN型硅平面三极管,右图是PNP型锗合金三极管。 从图中可见平面型三极管是先在一块大的金属板上注入杂质使之变成N型,然后再在中间注入杂质使之变成P型,…

Note091203_Outlook邮件撤回操作

Note091203_Outlook邮件撤回操作 如图所示: step1: 打开outlook step2: 点击已发送邮件,选中目标撤回邮件双击打开; step3: 点击图中2框所示,可看见撤回操作; 以上

Linux操作系统 进程(3)

接上文 Linux进程优先级之后,我们了解到僵尸进程与孤儿进程的形成原因,既然是因为父进程没有接收子进程的退出状态导致的,那么我们该如何去获取子进程的退出状态呢?那本篇文章将围绕这个问题来解释进程。 环境 : vsco…

基于CNN的10种物体识别项目

一:数据导入和处理 1.导入相关包: import numpy as np import pandas as pd import matplotlib.pyplot as plt import tensorflow as tf2.下载数据 (x_train_all, y_train_all), (x_test, y_test) tf.keras.datasets.cifar10.load_data()# x_valid:测…

【Qt笔记】QTabWidget控件详解

目录 引言 一、基本功能 二、核心属性 2.1 标签页管理 2.2 标签位置 2.3 标签形状 2.4 标签可关闭性 2.5 标签可移动性 三、信号与槽 四、高级功能 4.1 动态添加和删除标签页 4.2 自定义标签页的关闭按钮行为 4.3 标签页的上下文菜单 五、样式设置 六、应用示例…

快速使用react 全局状态管理工具--redux

redux Redux 是 JavaScript 应用中管理应用状态的工具,特别适用于复杂的、需要共享状态的中大型应用。Redux 的核心思想是将应用的所有状态存储在一个单一的、不可变的状态树(state tree)中,状态只能通过触发特定的 action 来更新…

硬件基础知识

驱动开发分为:裸机驱动、linux驱动 嵌入式:以计算机技术为基础,软硬结合的、可移植、可剪裁的专用计算机 单片机最小单元:vcc gnd reset 晶振 cpu --- soc :system on chip 片上外设 所有的程序都是在soc(cpu&…

【Android安全】Ubuntu 16.04安装GDB和GEF

1. 安装GDB sudo apt install gdb-multiarch 2. 安装GEF(GDB Enhanced Features) 官网地址:https://github.com/hugsy/gef 2.1 安装2021.10版本 但是在Ubuntu 16.04上,bash -c "$(curl -fsSL https://gef.blah.cat/sh)"等命令不好使&…

深度学习自编码器 - 收缩自编码器(CAE)篇

序言 在深度学习的浪潮中,收缩自编码器( Compressive Autoencoder, CAE \text{Compressive Autoencoder, CAE} Compressive Autoencoder, CAE)作为自编码器的一种高级形式,正逐步崭露头角。收缩自编码器在保留自编码器核心功能—…

【贪心算法】贪心算法一

贪心算法一 1.柠檬水找零2.将数组和减半的最少操作次数3.最大数4.摆动序列 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励,我们一起努力吧!😃😃 1.柠檬水找零 题目…

【安当产品应用案例100集】017-助力软件服务商高效集成多因素认证

一、企业案例背景 在本案例中,某企业作为一家软件技术服务商,为包括银行、政府机构在内的多个行业提供定制化的软件服务。由于各个行业的安全需求各异,例如银行和政府机构倾向于使用UKEY进行身份验证,而其他企业则可能偏好使用数…

创建Django 项目

创建一个新的 Django 项目: django-admin startproject myproject cd myproject 在 Django 项目中创建一个新的应用: python manage.py startapp myapp设置数据库 编辑 myproject/settings.py 文件中的数据库设置: DATABASES {default:…