Qt 库中控件的默认 HTML 样式

2023-12-10

这是一个关于 Qt 库的问题,而不是关于 Web 设计的问题。

对于 QLabel 和其他控件,我可以设置 HTML 文本,例如“

Some Text

”。问题是:默认的HTML样式是在哪里定义的?我如何找出

标签将使用什么字体?

下一个问题:我可以更改默认的 HTML 样式吗?

编辑:我想在代码中的一处指定控件的显示方式。在所有标签中指定 css 样式对我来说似乎不是一个优雅的解决方案。

Edit2:看来人们没有明白这个问题。我会再尝试。假设我执行以下操作:


QLabel* label = ...
label->setText("This <b>is</b> a <h3>Header</h3>");

问题:标签文本渲染将使用什么字体?我怎样才能控制它们?有没有办法指定

标题的默认字体大小?

Edit3:Thomi 建议使用 QTextDocument::setDefaultStyleSheet。但这只是一种解决方法。我必须手动将 css 样式应用到界面中的所有 QTextEdit(而不是 QLabels)。问题是:如何找出默认样式表? QTextDocument::setDefaultStyleSheet 只是为单个 QTextDocument 对象覆盖它。也许 QTextDocument::defaultStyleSheet 返回它?我现在没有安装Qt的电脑,所以无法检查。


QLabel 无法完成您想要的操作。 QLabel 旨在保存原始文本标签 - 它的 HTML 支持相当......绳索。

然而,你can使用 QTextEdit 和 QTextDocument 实现此目的。

尝试这样的事情(我是凭记忆写的,所以它可能无法编译或100%正确):

QTextDocument *doc = new QTextDocument(this);
doc->setDefaultStyleSheet("h3 { font-color: red; }");
QTextEdit *edit = new QTextEdit(this);
edit->setDocument(doc);
edit->setHTML("this is a red <h3>heading</h3>");

重要的是使用 QTextDocument,它允许您更改 HTML 样式表。来自 QT 文档:



The default style sheet is applied to all newly HTML formatted text that is inserted into the document, for example using setHtml() or QTextCursor::insertHtml().

The style sheet needs to be compliant to CSS 2.1 syntax.

Note: Changing the default style sheet does not have any effect to the existing content of the document.
  

请参阅此处了解更多信息

Edit:

要获取默认样式表,您可以调用QTextDocument::DefaultStyleSheet()- 但是,这仅适用于 QTextDocuments,并且可能适用于也可能不适用于所有 Qt 控件(包括 QLabel)。

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

Qt 库中控件的默认 HTML 样式 的相关文章

  • 如何创建语法突出显示文本框[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何使用 C Net 创建语法突出显示文本框 Take 闪烁网 http scintillanet codeplex com 并采取其
  • 如何转发声明要在 unique_ptr 的标准容器中使用的类

    在智能指针的标准容器中使用它时 是否可以避免完整的类定义可见 例如 我无法编译以下内容 include
  • 表达式访问者仅为某些 lambda 表达式调用 VisitParameter

    我希望能够使用嵌套扩展方法将 EF 中的实体投影到相应的视图模型 参见我之前的问题使用扩展方法在 EF 中投影单个实体 https stackoverflow com questions 39585427 projection of sin
  • C++:字符串流有什么好处?

    谁能告诉我一些在 C 中使用字符串流的实际例子 即使用流插入和流提取运算符输入和输出到字符串流 您可以使用字符串流来转换任何实现operator lt lt 到一个字符串 include
  • 错误:“运行所选代码生成器时出错:包恢复失败”

    我正在尝试将控制器添加到 ASP NET Core 项目中的解决方案中 当我尝试这样做时 我收到此错误 我收到相同的消息 为控制器添加最小依赖项和完整依赖项 我也有这个问题 使用实体框架添加控制器 gt 带有操作的 API 控制器 将给出
  • 提取单花括号内的值

    我想要一个收藏 value 一个字符串使用正则表达式 例如 lorem ipsum field1 lorem ipsum field2 lorem ipsum field1 lorem ipsum field2 field3 我会得到 fi
  • 值类型如何实现引用类型

    我遇到了一个值类型正在实现 ref 的场景 类型 只是想知道这怎么可能 幕后发生了什么 结构体是值类型 接口是引用 类型但结构可以实现接口而不会出现任何错误 有什么想法吗 提前致谢 实际上 它同时以两种不同的方式进行 首先 任何值类型都可以
  • 有没有办法找到dll公开的所有函数

    我一直在寻找一种方法来获取映射到 dll 中函数名称的所有字符串 我的意思是您可以调用 GetProcAddress 的所有字符串 如果你对 dll 进行十六进制转储 符号 字符串 就在那里 但我认为必须有一个系统调用来获取这些名称 如果您
  • 将视频上传/保存到数据库或文件系统

    我以前从未尝试过保存视频 所以我对此了解不多 我知道如果视频很小 我可以转换为字节数组并保存到数据库 但是为了提高效率 我想了解如何将任何上传的视频保存到我的服务器文件中 然后只保存该文件的文件路径我的数据库表中的视频 我完全不知道如何开始
  • FFplay成功移入我的Winform中,如何设置它无边框?

    用这个代码 在 C 应用程序中显示 tcp 视频流 来自 FFPLAY FFMPEG https stackoverflow com questions 14201894 show a tcp video stream from ffpla
  • 使用信号和槽更新指针

    我对 Qt 很陌生 请帮我解决这个问题 我正在使用线程在后台执行密集操作 同时我想更新 UI 所以我使用 SIGNALS 和 SLOTS 为了更新 UI 我发出一个信号并更新 UI 让我们考虑下面的示例代码 struct sample QS
  • 当分配返回 0 时,具有空异常规范的运算符 new 调用构造函数

    我有以下声明 void operator new size t s PersistentMemory m throw return m gt allocatePersistentMemory s 我正在测试启动时的内存耗尽 这会导致m gt
  • 我的代码哪里有泄漏?

    下面是我的代码 它打开一个 XML 文件 old xml 过滤无效字符并写入另一个 XML 文件 abc xml 最后 我将再次加载 XML abc xml 当执行以下行时 出现异常 表示 xml 文件被另一个进程使用 xDoc Load
  • 如何在 stl 模板中使用导出类 (__declspec(dllexport))?

    我正在使用导出的类 class declspec dllexport myclass private template declspec dllexport class std map
  • 为什么我无法通过 lambda 捕获“this”指针?

    考虑以下代码 class A public void foo auto functor this A a this auto functor a The compiler won t accept this instead of a a g
  • Membership.ValidateUser() 的目的是什么

    我一直在学习有关MembershipProvider类 我认为Membership ValidateUser 方法应该用于登录用户 然而我刚刚了解到有一个FormsAuthentication Authenticate 目的是什么Valid
  • 从数据库配置中的连接字符串中删除 SSIS 密码

    我有一个 SSIS 包 它使用 SQL 服务器中的 SSIS 配置表来检索 OLE DB 连接管理器的连接字符串属性 问题是我还需要相同的连接字符串来调用使用实体框架的程序集 我尝试访问连接管理器连接字符串属性 但 SSIS 总是删除密码
  • 打印任何类型的数组和列表的通用方法[重复]

    这个问题在这里已经有答案了 每当我调试一段涉及整数 双精度 字符串等数组或列表的代码时 有时我更喜欢打印它们 我为此所做的是为不同类型编写重载的 printArray printList 方法 for e g 我可能有这 3 种方法来打印各
  • 为什么 INT64_MIN 的定义不同?为什么他们的行为不同?

    The stdint h我公司的标题是 define INT64 MIN 9223372036854775808LL 但在我项目的一些代码中 一位程序员写道 undef INT64 MIN define INT64 MIN 92233720
  • 从 C/C++ 程序进行 Ping

    我想编写一个 C 或 C 程序 给定一个 IP 地址 对其进行 Ping 然后根据 Ping 是否成功执行进一步的操作 这个怎么做 尽情享受Ping 页面 http www ping127001 com pingpage htm 其中有一个

随机推荐

  • iOS 8 图像缩放和自动布局

    假设我有一个UIView只有一张图像位于顶部的中心UIView 我为图像提供了图像资源 如下所示 iPhone 4s 及更早版本 50x50 为正常 2x 适用于 iPhone 5 5c 5s 6 100x100 3x 适用于 iPhone
  • Scala泛型类支持多参数功能

    假设我有以下 Foo 类 它使用元组技巧支持任意数量的函数 abstract class Foo T R def pull T gt R 我可以使用以下语法定义子类 implicit def function2Tofunction1 T1
  • 拨号 tcp:不匹配的本地地址类型 172.29.4.175

    我使用以下代码收到此错误 拨号 tcp 不匹配的本地地址类型 172 29 4 175 知道如何解决这个问题吗 除了网上找不到任何有用的东西http oocms org question 763660 dial with a specifi
  • 添加 FirebaseUI 库和支持库时清单合并失败

    我正在使用 google firebase 实施身份验证 我收到此错误 如果可能的话 请有人提出解决方案并附上解释 以便我能理解 错误 任务 app processDebugManifest 执行失败 清单合并失败 来自 com andro
  • 在 R 中按 colSums 划分列

    我正在尝试缩放矩阵中的值 以便每一列加起来为一 我努力了 m matrix c 1 9 nrow 3 ncol 3 byrow T 1 2 3 1 1 2 3 2 4 5 6 3 7 8 9 colSums m 12 15 18 m m c
  • Redshift UDF逻辑问题

    我正在尝试编写 redshift udf 来验证时间戳 但是 它总是返回 false 有人可以解释一下为什么吗 create or replace function f Is timestamp sql VARCHAR 20000 retu
  • 如何使用 Interop 与 C# 将 *.ppt、*.pptx 文件另存为 *.wmv?

    我尝试用下面的代码来做到这一点 using Microsoft Office Core using PowerPoint Microsoft Office Interop PowerPoint using System IO using M
  • 如何使用 Java SDK 获取 AWS Quicksight 仪表板的嵌入 URL

    我想我了解获取 AWS Quicksight 仪表板的嵌入 URL 所需的所有步骤 并且我已经能够通过 AWS CLI 获取有效的 URL 如AWS docs 但是 我似乎无法通过 AWS Java SDK 特别是 v2 让它工作 似乎任何
  • 如何让Android应用程序在屏幕休眠时在后台运行?

    我正在开发一个跟踪应用程序 它通过每 3 秒获取用户当前位置来跟踪用户 当屏幕打开时 我能够获取经纬度值 但当屏幕休眠时 我无法获取数据 CODE Override public void onLocationChanged Locatio
  • 在VS 2017、MVC中添加服务引用

    如何在 VS 2017 MVC 中添加服务引用 我尝试找到 添加服务引用 按钮 但它不在那里 只有 添加引用 和 添加连接的服务 我之前在 VS 2013 中添加了服务引用 这很容易 但现在我为我的学校项目更改为 VS 2017 我不知道如
  • 使用 Gson 或 Jackson 压平 JSON 字符串,将包含各个级别键值的键制作为 Map

    我有一个关于以下问题的增强问题使用 Gson 或 Jackson 将 JSON 字符串展平为 Map 我的场景包括重复的键 因此上述问题中的解决方案会导致一些重复的键被覆盖 所以我正在考虑通过将每个级别的密钥组合在一起来构造密钥 那么如何实
  • 如果主题更改,请更改 WP7 应用程序的背景

    如果用户更改主题 我需要更改应用程序的背景图像 Light to Dark 或在代码隐藏中反之亦然 我希望这些应该在页面已加载 event TimDams 向您指出了检测现在设置的主题的好方法之一 但我没有注意到有任何信息如何检测a cha
  • MobileFirst Starter - Bluemix 推送通知在生产模式下失败

    我正在构建一个可以通过 Bluemix 接收远程通知的 iOS 应用程序 我在 Xcode 中的应用程序包标识符与 Apple Portal 中的 AppId 相匹配 后者也与 APN 证书相匹配 xxx sandbox p12 和 xxx
  • 如何更改构建定义的 Scala 版本?

    我正在开发一个简单的 SBT 项目 其中包括用于对 Scala 并行集合进行基准测试的 InputTasks 当我遇到问题时 我已经定义了输入键并开始编写任务 由于我的基准要求斯卡拉 2 10 0 M5 我尝试在我的build sbt na
  • 返回匿名类型结果?

    使用下面的简单示例 使用 Linq to SQL 从多个表返回结果的最佳方法是什么 假设我有两张表 Dogs Name Age BreedId Breeds BreedId BreedName 我想把所有的狗都带回来BreedName 我应
  • EL中bean的动态选择

    有没有办法在运行时而不是设计时指定 EL 中使用的托管 bean 例如 actionListener myBean method 这样myBean根据调用代码的 JSF 页面 part 可以有不同的值 条件是使用的任何对象代替 myBean
  • 只在 ISR 中读取的变量是否为 易失性?

    Is volatile需要一个在主循环中读写但在 ISR 中只读的变量吗 编辑 在编写 main 时 ISR 被禁用 因此 该变量被有效地原子地使用 EDIT 非常相关 中断的易失性与内存屏障 volatile是一种不好的同步访问方式 这是
  • jQuery:将复选框的值添加到输入文本字段

    我正在尝试将任何选中的复选框的值添加到输入文本字段 这是我的小提琴 http jsfiddle net Lf6ky document ready function checkbox on click function if checkbox
  • 使用 f String 插入字符或符号@

    我有两个变量总共存储两个数字 我想组合这些数字并用逗号分隔它们 我读到我可以使用 variablename 插入加号或空格或零 但逗号不起作用 x 42 y 73 print f the number is x y 这是我奇怪的解决方案 我
  • Qt 库中控件的默认 HTML 样式

    这是一个关于 Qt 库的问题 而不是关于 Web 设计的问题 对于 QLabel 和其他控件 我可以设置 HTML 文本 例如 Some Text 问题是 默认的HTML样式是在哪里定义的 我如何找出 标签将使用什么字体 下一个问题 我可以