0

I am writing a Qt application, and I would like to use system's default fonts in the QTextBrowser. Is there any way to query what the default system font is, and set the same in QTextBrowser?

The following snippet shows what I have now:

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);

Would appreciate any help.

Thanks a lot.

Devendra

devendra rai
  • 135
  • 12

1 Answers1

1

Found the answer. Use setStyleHint function, which will try to locate the closest match to the requested font on a target machine.

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);

Although I am still not sure whether this is the perfect solution.

Devendra

devendra rai
  • 135
  • 12