Qt::BackgroundRole 似乎被忽略

2023-12-11

我正在使用源自的自定义表格模型QAbstractTableModel.

我已经覆盖了headerData()我可以通过返回颜色来更改单个行标题(或列标题,但我在这里只讨论行)的字体颜色Qt::ForegroundRole

if(role == Qt::ForegroundRole)
   return Qt::green;

但如果我去Qt::BackgroundRole设置标题单元格的背景颜色,没有任何反应。

if(role == Qt::BackgroundRole)
   return Qt::red;

我在上面设置了一个断点return它已经达到了。但什么也没发生:-(

关于我错在哪里有什么想法吗?


AFAIK 角色颜色相当于设置调色板颜色,QStyle绘制标题单元格可以随意忽略它。

我在使用时遇到了问题QPalette或样式表在小部件上设置任意颜色。文本往往有效,“窗口”彩色背景也有效(aQPushButton例如背景),但文本输入字段背景则不然(QLineEdit例如)。但据我所知,这取决于特定的QStyle实现,因此不仅会在不同的小部件之间有所不同,而且还会在不同的平台之间有所不同。唯一的certain让事情完全按照你想要的方式进行的方法是重新实现QStyle (a big工作),或者手动绘制它paintEvent(..)(很难跟上当前的QStyle并且仍然有很多代码)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt::BackgroundRole 似乎被忽略 的相关文章

随机推荐

  • 为什么图像压缩算法要按子块处理图像?

    例如 考虑 DFT 或 DCT 准确地说 通过子块变换的图像与整体变换的图像之间有什么区别 生成的文件大小是否较小 算法是否更高效 变换后的图像看起来有什么不同吗 谢谢 它们被设计为可以使用并行硬件来实现 每个块都是独立的 可以在不同的计算
  • Cygwin 显示 UTC 时间而不是本地时间

    今天我注意到我的 cygwin shell 显示了错误的时间 它实际上是 UTC 时间 而它应该是我的当地时间 一旦我取消设置 TZ 变量 它就会显示当地时间 以下是一些显示情况的命令 我运行的是 Windows 10 我的 Windows
  • 通过 Powershell 中的 Web 服务使用复杂对象?

    我一直在尝试通过 Powershell 使用供应商提供的 Web 服务系统 我正在运行 4 0 以下是我用来设置代理以使用该服务的代码 uri http somehost employer net 9999 AdministrationSe
  • 为什么一个进程共享同一个HT核心时,另一个进程的执行时间会更短

    我有一个带有 4 个 HT 核心 8 个逻辑 CPU 的 Intel CPU 并且构建了两个简单的进程 第一个 int main for int i 0 i lt 1000000 i for int j 0 j lt 100000 j 第二
  • 如何使用 React 路由器嵌套路由

    我有多个布局 应包含不同的屏幕 每个布局都有自己的页眉 页脚和类似页面应该共享的其他内容 这是我想出的代码
  • d3.js 使用极坐标绘制元素

    我是 d3 js 新手 不确定要使用哪个 d3 功能 我需要围绕原点 在圆圈中 同心放置一组元素 svg selectAll circle each function d3 select this attr cx r Math cos th
  • UCM Clearcase:一个项目与多个项目中的流层次结构

    我们有一个项目 即将向稳定的代码库添加一项新功能 除了缺陷修复之外 不会进行任何重大更改 该计划不是在一段时间内 可能一个月 单独开发新功能 进行中间构建和测试 当功能完成并且质量可以接受时 将新功能的代码合并到主分支中 问题是就 Clea
  • scanf 导致 C 中的无限循环

    我对 C 语言比较陌生 但我已经编程几年了 我正在为大学课程编写一个程序 我很困惑为什么下面的 scanf 函数没有被调用 导致无限循环 我尝试过将 scanf 放在函数之外 调用它两次 一次从内部 一次从外部 以及其他一些方式 我在网上读
  • BizTalk部署期间不需要通过控制台导入MIS时

    允许哪些 BizTalk 应用程序 编排 模式 映射更改不强制通过管理控制台导入 MSI 而只在 GAC 中安装 DLL 通过控制台强制导入以停止编排并终止实例 但在 GAC 中安装仅需要重新启动该应用程序的主机 因此 有时不停止生产环境中
  • 一个接一个地执行方法,执行之间有暂停

    新手 obj c 问题 我正在编写一个简单的 iPad 演示文稿 不适用于 Appstore 我的任务是实现几个相继执行的方法 并且它们之间几乎没有停顿 主要结构如下 查看负载 暂停两秒 然后执行method1 暂停两秒 然后执行metho
  • 检查多个列中的一个值

    我有一个包含这样的列的表 例如 id col1 col2 col3 col4 现在 我想检查一下是否ANY of col1 col2 col3 col4具有传递的值 要做到这一点 路还很长 SELECT FROM table WHERE c
  • 从购物车中删除运费计算

    如何从商店的购物车中删除运费计算 这是网站 tintinportintin com br 在 app design frontend base default checkout xml 的第 89 行 你会发现
  • CPU最大线程数

    这与处理器的线程有什么关系 例如 Intel i5 有四个核心和四个线程 我们的程序中可以使用多少个线程 例如在 C 中使用 std thread STL 8个线程对于一个程序来说是大还是小 这确实取决于 根据经验 将线程数量限制为接近核心
  • Hyperledger Composer:错误:无法请求身份。尝试注册用户并返回证书时出错

    我正在关注一个hyperledger composer tutorial 我无法在执行命令时执行步骤 15 composer identity request c PeerAdmin byfn network org1 only u adm
  • 为什么 stat_密度 (R; ggplot2) 和 gaussian_kde (Python; scipy) 不同?

    我正在尝试对一系列可能不是正态分布的分布生成基于 KDE 的 PDF 估计 我喜欢 R 中 ggplot 的 stat 密度 似乎可以识别频率中的每个增量波动 但无法通过 Python 的 scipy stats gaussian kde
  • 无法 json_encode() 数组或 Laravel 集合:“不支持类型”

    我不知道我做错了什么 因为它适用于应用程序中的所有其他模型 我多次刷新并重新播种数据库 这些模型扩展了相同的抽象方法 这是控制器中的代码 substrates this gt substrates gt all gt toArray tem
  • 将 CSV 文件中的日期列以“YYYYMMDDHH24MISS”格式格式化为 ksh 中的“YYYYMMDD HH24MISS”格式

    我编写了一个脚本 它从 CSV 文件中获取值并将其插入到 postgres 表中 但遇到了问题 CSV 文件中的日期列采用 YYYYMMDDHH24MISS 格式 表中的同一列定义为时间戳 当使用 copy 命令插入时 出现以下错误 ERR
  • 从 React 数组中删除项目

    我的removeItem函数有问题 它应该删除当前的 li 该按钮嵌套在 this state list 上的数组中的项目中 目前没有代码 因为我尝试了很多东西 但没有任何效果 所以我最终console logs看看发生了什么 所以我删除了
  • 在 Cpanel 上上传 Laravel 项目中的图像

    我的功能是上传图像 但问题是为什么图像没有上传到 public html 文件夹 图像上传到项目的公共文件夹中 private function upload image tbl name image gt getClientOrigina
  • Qt::BackgroundRole 似乎被忽略

    我正在使用源自的自定义表格模型QAbstractTableModel 我已经覆盖了headerData 我可以通过返回颜色来更改单个行标题 或列标题 但我在这里只讨论行 的字体颜色Qt ForegroundRole if role Qt F