标准/系统原生QLineEdit的精确边框颜色及宽度数值是多少?
QLineEdit 原生边框参数说明
边框宽度
原生QLineEdit的默认边框宽度为1px,该参数适配Windows、macOS、Linux主流桌面环境的Qt默认风格(Fusion/WindowsVista/Breeze等)。你也可以通过调用QLineEdit::frameWidth()方法直接获取当前控件的实际边框宽度做验证,默认返回值固定为1。
边框色值
原生QLineEdit的边框色值不是全局固定值,会跟随当前系统主题、Qt启用的界面风格动态变化,常见默认风格下的参考色值如下:
- Fusion风格(Qt跨平台默认通用风格):非聚焦状态边框为
#c0c0c0(浅灰色),聚焦状态边框为#4a86e8(亮蓝色) - Windows 10/11默认风格:非聚焦状态边框为
#e1e1e1(浅灰色),聚焦状态边框为系统主题强调色,默认值为#0078d7 - macOS默认风格:非聚焦状态边框为
#d1d1d1(浅灰色),聚焦状态边框为#007aff(系统蓝色)
如果需要动态获取当前运行环境下的精确边框色,可以直接调用Qt调色板接口读取,代码示例:
QLineEdit testLineEdit; QPalette palette = testLineEdit.palette(); // 读取激活状态下的控件边框色 QColor nativeBorderColor = palette.color(QPalette::Active, QPalette::Button);
如果是使用QSS自定义样式想要对齐原生视觉效果,推荐优先通过调色板动态取值而非写死固定色值,可以自动适配不同系统主题的显示效果。
内容的提问来源于stack exchange,提问作者Dennis
相关产品推荐
相关产品推荐

