我的Qt应用程序中有Qt资源文件(res.qrc)。我进口我的自定义字体在资源如下:从我的应用程序资源中更改QTextEdit中的内容字体
:/fonts/aa_marcus_east_syriac.ttf
此外,我定义的头文件:
private:
QFont assyrianEventsAAMarcusEastSyriac;
我用的QTextEdit在主窗口。当用户点击一个按钮时,我的应用程序读取一个文本文件。文本文件中的每一行都应该在QTextEdit中导入,但某些行应该从我的资源中获得aa_marcus_east_syriac.ttf字体。所以我写了这段代码:
void Widget::readMonthAssyrianEvents()
{
QStringList eventsList;
eventsList = readEventFile();
ui->notificationTextEdit->setCurrentFont(assyrianEventsAAMarcusEastSyriac);
for (int index = 0; index < eventsList.length(); index++)
{
QString eventType, eventContent;
QStringList tempStringList = eventsList[index].split('|');
eventType = tempStringList[0];
eventContent = tempStringList[1];
if (eventType == "0")
ui->notificationTextEdit->append(eventContent);
}
}
readEventFile()函数正常工作。它读取文本文件并将所有行作为QStringList。在另一个名为init()的函数中初始化“assyrianEventsAAMarcusEastSyriac”变量。这是init()函数:
int id = QFontDatabase::addApplicationFont(":/fonts/aa_marcus_east_syriac.ttf");
QString family = QFontDatabase::applicationFontFamilies(id).at(0);
assyrianEventsAAMarcusEastSyriac.setFamily(family);
assyrianEventsAAMarcusEastSyriac.setPointSize(20);
我的问题是的QTextEdit不改变字体的它的内容到我的自定义字体。
我该如何解决这个问题?请帮助我们。 感谢
这工作在另一个地方的应用程序,因为我使用这种字体和QFontDatabase的普通标签(QLabel)和那里工作正常,但对于QTextEdit它不起作用:-( –
如果你只是调用QTextEdit :: setFontFamily ? –