Pyqt5:如何在不使用 QFont 的情况下格式化文本?

发布于 2025-01-10 23:21:13 字数 415 浏览 0 评论 0原文

正如标题已经告诉我们的,我想简单地格式化文本而不使用 QFont() 。目前我正在这样使用它:

font = QFont()
font.setBold(True)

label = QLabel()
label.setFont(font)
label.setText("Hello World!")

到目前为止一切都很好。但是,如果我想将标签文本中的某个部分加粗,就会变得非常烦人,因为我必须创建一个额外的 QLabel 并使用 setBold() 和将这部分放到正确的位置。有没有办法(例如降价)将标签文本的特定部分加粗?

像这样:

label = QLabel()
label.setText("**Hello** World!")

Well as the title already tells, I want to simply format a text without using QFont(). At the moment I'm using it like that:

font = QFont()
font.setBold(True)

label = QLabel()
label.setFont(font)
label.setText("Hello World!")

So far so good. But if I want to have a certain part in a text of a label bold, it gets quite annoying, because I have to create an extra QLabel and use setBold() and put this part into the right position. Is there a way (e.g. markdown) to bold a certain part of a text of a label?

Like that:

label = QLabel()
label.setText("**Hello** World!")

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

微暖i 2025-01-17 23:21:13

Qt 使用 HTML 的子集来实现富文本。这也是默认设置。尝试:

label.setText("<b>Hello</b> World!")

标签文本格式由 textFormat 属性控制。默认值为 Auto,有关可能的值,请参阅 https://doc.qt .io/qt-5/qt.html#TextFormat-enum

如果您使用最新版本的 Qt(至少 5.14),您还可以按照您的建议使用 Markdown:

label.setTextFormat(Qt.MarkdownText)
label.setText("**Hello** World!")

参考:https://doc.qt.io/qt-5/richtext-html-subset.html

Qt uses a subset of HTML for rich text. This is also the default setting. Try:

label.setText("<b>Hello</b> World!")

The label text format is controlled by the textFormat property. The default is Auto, for possible values see https://doc.qt.io/qt-5/qt.html#TextFormat-enum.

If you use a recent version of Qt (at least 5.14) you can also use Markdown as you suggested:

label.setTextFormat(Qt.MarkdownText)
label.setText("**Hello** World!")

Reference: https://doc.qt.io/qt-5/richtext-html-subset.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文