如何在Qtextbrowser中使用系统字体

时间:2013-01-01 14:04:09

标签: qtextbrowser system-font

我正在编写一个Qt应用程序,我想在QTextBrowser中使用系统的默认字体。有没有办法查询默认的系统字体是什么,并在QTextBrowser中设置相同的颜色?

以下代码段显示了我现在拥有的内容:

QString line;
    QFont myfont ("Monospace");
    myfont.setPixelSize(12);
    myfont.setBold(true);
    line.append("Hello!\n\n");
    this->MessageBrowser->setTextColor(Qt::blue);
    this->MessageBrowser->append(line);
    this->MessageBrowser->setFont(myfont);
    line.append("Hello Again!\n\n");
    this->MessageBrowser->setTextColor(Qt::red);
    this->MessageBrowser->append(line);
    this->MessageBrowser->setFont(myfont);

感谢任何帮助。

非常感谢。

德文德拉

1 个答案:

答案 0 :(得分:1)

找到答案。使用setStyleHint函数,它将尝试找到与目标计算机上请求的字体最匹配的匹配项。

QString line;

    QFont myfont ("Monospace");
    myfont.setStyleHint(QFont::Monospace);
    myfont.setPixelSize(12);
    myfont.setBold(true);
    line.append("Hello!\n\n");
    this->MessageBrowser->setTextColor(Qt::blue);
    this->MessageBrowser->append(line);
    this->MessageBrowser->setFont(myfont);
    line.append("Hello Again!\n\n");
    this->MessageBrowser->setTextColor(Qt::red);
    this->MessageBrowser->append(line);
    this->MessageBrowser->setFont(myfont);

    this->MessageBrowser->moveCursor(QTextCursor::End);

虽然我仍然不确定这是否是完美的解决方案。

德文德拉