如何为 PyQt QTabwidget 着色

2024-02-27

我有一个包含 QTabWidget 的 PyQt 主窗口。选项卡小部件包含一些按钮和文本框。

我想为整个选项卡背景着色,而不仅仅是在选项卡栏区域中粘贴的选项卡。

我没有使用样式表,并且更喜欢使用调色板,因为我已经在使用调色板,但如果样式表是唯一的选择,那也没关系。

我试过了:

p = self.tabWidget.palette()
p.setColor(self.tabWidget.backgroundRole(), Qt.red)
self.tabWidget.setPalette(p)

这会产生一个红色选项卡栏区域,但主背景仍然是白色的。

关闭自动填充,使用 self.tabWidget.setAutoFillBackground(False) 略有不同,各个选项卡现在颜色很好,但主体仍然是白色的。

尝试一些样式表:

self.tabWidget.setStyleSheet("QWidget {background-color: yellow }")

这会将选项卡的主体着色,但也会将其他所有内容着色为黄色,包括按钮和文本框。此外,所有伸出的小标签都是黄色的。自动填充没有任何影响。

关于如何为选项卡主体着色但不擦除其他小部件有什么想法吗?

我正在使用 PyQt 版本 4.10 和 Python 2.7。


使用样式表,您可以执行以下操作:

stylesheet = """ 
    QTabBar::tab:selected {background: gray;}
    QTabWidget>QWidget>QWidget{background: gray;}
    """

self.setStyleSheet(stylesheet)

V 形允许引用小部件的子项。它告诉 Qt 将样式表应用于应用程序中任何 QTabWidget 的孙子级(请参阅Qt 样式表语法 http://qt-project.org/doc/qt-4.8/stylesheet-syntax.html#selector-types)。选项卡“body”是 QTabWidget 的孙子。

它的渲染效果不太好,您必须调整一些设置。请参阅 Qt 文档自定义 QTabWidget 和 QTabBar http://qt-project.org/doc/qt-4.8/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar.

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

如何为 PyQt QTabwidget 着色 的相关文章

随机推荐

  • javascript getDate getMonth 返回错误的月份[重复]

    这个问题在这里已经有答案了 我知道还有其他关于此的帖子 但我无法弄清楚我在这里做错了什么 下面是我的代码 var d new Date var month d getMonth System log d System log month 我
  • javascript 中的 wget 相当于从给定 url 下载文件的功能是什么?

    wget http www example com file doc http www example com file doc 将该文件下载到本地磁盘 在 javascript 中 上面的等价物是什么 例如 考虑以下 html 片段
  • 在 Objective C 中将对象添加到 NSMutableArray 时遇到问题

    我正在使用 iPhone SDK 但在执行一些简单操作时遇到问题 我正在尝试添加一个NSNumber反对NSMutableArray实例变量 我尝试添加 NSNumbercard到 NSMutableArray已查看的卡片数组 但是如果不破
  • 如何点击外部关闭这个菜单?

    我有这个菜单 CSS message display none position absolute width 120px background fff color 000 font weight bold 当我点击它时 它会打开 mess
  • Twitter 引导程序预先输入多个值?

    我正在使用 Twitter Bootstrap 和 Jquery 我想使用预先输入文本区域的函数 我可以非常轻松地使用它 但我也需要它允许多项选择 我的意思是 当我从自动完成中选择一个单词后 它会将我带回文本区域 然后再添加一个空格 然后如
  • crt0.o 和 crt1.o -- 有什么区别?

    最近我一直在尝试调试一些低级工作 但找不到crt0 S对于编译器 avr gcc https linux die net man 1 avr gcc 但我确实找到了crt1 S 与相应的 o files 这两个文件有什么区别 是crt1完全
  • Quasar:使用q-file选取图像时如何显示图像?

    Quasar 和 Vue 的新手 我正在使用 q file 它允许选择文件并拖放文件 但是 如何显示预览图像 Q uploader 似乎可以工作 但我如何更改它的用户界面 来自 Quasar 的组件链接 https quasar dev v
  • Haskell 使用数据构造函数过滤嵌套列表

    假设我有以下数据类型 data Number Positive Integer Negative Integer deriving Eq Show 我有一个函数定义 请注意 我无法更改此定义 或以任何方式解决它 我必须使用嵌套列表并以某种方
  • set_error_handler函数不调用自动加载

    我有set error handler 函数设置为在出现错误时调用函数 在该函数中 我有自己的异常类实现 function acs error handler errno errstr errfile errline throw new a
  • android中找不到文件异常

    我在java中使用加密并在php中执行解密 现在 当我将加密参数传递给 url 时 我没有得到正确的响应 这是我的安卓代码 public static InputStream multipartPOST String urlStr Hash
  • 当 json 解析空响应时 Whatwg Fetch 失败,如何防止它?

    我在前端和后端 NodeJS 都使用 Fetch API 在将响应解析为 json 时 我经常遇到一个问题 response json 将返回一个承诺 所以我事先不知道响应的正文是什么 当正文为空时 JSON 解析将失败并出现错误 Synt
  • 添加新字段后 Prisma 架构无法正确更新

    正如标题所述 我在 Next JS 应用程序中使用 Prisma 2 我有一个非常简单的架构 model User id Int id default autoincrement firstName String middleName St
  • Google 脚本中的 document.getelementbyId 不起作用

    我正在尝试制作一个 google script web 应用程序 它从 HTML 表单获取输入并将输入传递给脚本 现在 该功能失败是因为document getelementbyId text 回报null而不是实际的表单值 我怎样才能解决
  • AttributeError:模块“tensorflow.python.keras.utils.generic_utils”没有属性“populate_dict_with_module_objects”

    当我导入 keras 时 即使昨天运行正常 也会弹出上面的错误 我该如何解决这个错误 我正在 Windows 10 上工作 我的keras版本是 2 2 4 我的张量流版本是 2 2 0rc2 完整的错误回溯如下所示 Traceback m
  • 使用公共链接将公共对象上传到 Google Cloud Storage

    我已经到处搜索 但找不到解决方案 如何将公共对象上传到我的谷歌云存储 我想拥有它 这样一旦图像上传 世界上任何人都可以查看 It seems I can only get this done if I manually click the
  • 如何使用 PDO 和 SQL Server 获取最后插入行的 ID?

    在其他情况下我可能会想使用 result mssql query INSERT INTO table fields VALUES data SELECT CAST scope identity AS int 但由于我将插入用户提交的数据 我
  • 如何对 WIX 合并模块进行单元测试?

    我正在使用 WIX 构建合并模块 调用 WIX 工具从 wxs 文件生成合并模块的批处理文件由我的日常构建运行 我试图弄清楚如何自动化这些合并模块的测试 我想测试的是 合并模块是否安装了所需的文件 文件的版本是否正确等 我的一个想法是编写一
  • 使用 support-v7-appcompat 在 ActionBar 中搜索视图

    我一直在努力使用 support v7 库让 SearchView 小部件在操作栏中展开 当我的目标是 4 0 时 我已经设法在没有支持库的情况下让它工作 但我想为 2 3 编写应用程序 所以我需要使用支持库 我使用以下 menu xml
  • 具有自定义视图的扩展工具栏未以全宽显示

    我在这里浏览了很多与工具栏相关的答案 但没有一个答案可以帮助我 我想要实现的是拥有一个扩展工具栏 它将显示一个徽标 可能是活动 应用程序的名称 它将在右侧有一个操作按钮 抽屉切换开关 它将显示一个类似导航的抽屉右侧是一个带有其他选项 如设置
  • 如何为 PyQt QTabwidget 着色

    我有一个包含 QTabWidget 的 PyQt 主窗口 选项卡小部件包含一些按钮和文本框 我想为整个选项卡背景着色 而不仅仅是在选项卡栏区域中粘贴的选项卡 我没有使用样式表 并且更喜欢使用调色板 因为我已经在使用调色板 但如果样式表是唯一