【问题标题】:Is it possible to partially italicize the text of a QTreeWidgetItem?是否可以将 QTreeWidgetItem 的文本部分斜体化?
【发布时间】:2013-07-09 19:17:29
【问题描述】:

我知道如何将 QTreeWidgetItem 的整个文本斜体化:

QTreeWidgetItem* elt = new QTreeWidgetItem(item);
QFont font = elt->font(0);
font.setItalic(true);
elt->setText(0, choice);
elt->setFont(0, font);

但是是否可以仅将部分文本斜体? (例如前一两个词)

【问题讨论】:

    标签: c++ qt


    【解决方案1】:

    有可能:

    QTreeWidgetItem *item = new QTreeWidgetItem(treeWidget);
    QLabel *label = new QLabel("<i>italics</i>, <b>bold</b>, normal", treeWidget);
    treeWidget->setItemWidget(item, 0, label);
    

    但更清洁的解决方案可能是使用 QTreeView 和子类化 QItemDelegate

    【讨论】:

      【解决方案2】:

      默认情况下没有这样的选项。您需要设置一个能够呈现 HTML 的 QItemDelegate。见this solution

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-06-17
        • 2018-12-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多