我的 Qt 应用程序中有 Qt 资源文件 (res.qrc)。我在资源中导入了我的自定义字体,如下所示:
:/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 不会将其内容的字体更改为我的自定义字体。
我怎么解决这个问题?请帮帮我。谢谢