gpt4 book ai didi

c++ - QTextEdit 中的不可见文本

转载 作者:行者123 更新时间:2023-11-28 05:01:43 25 4
gpt4 key购买 nike

我正在学习 Qt 并从 Qt SDK 5.9.1 运行示例。我运行下面的代码并在 QTextEdit 中写入但没有出现文本。光标在我书写时移动,但没有显示任何文字。显示窗口标题文本。我在示例中添加了 addApplicationFontsetFont 调用,但没有帮助。

#include <QtWidgets>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

QFontDatabase::addApplicationFont("://Ubuntu-R.ttf");
app.setFont(QFont("Ubuntu", 11, QFont::Normal, false));

QTextEdit textEdit;
textEdit.show();

return app.exec();
}

我在 Ubuntu 16.04 上并在 bash 上运行以下命令以使其可执行:

qmake -makefile
make
./part1

我希望应用程序使用默认的 Ubuntu 系统字体。我了解到 Qt 对字体使用 fontconfig,但我不知道如何追踪问题。

编辑

我认为 QFontDatabase::addApplicationFont("://Ubuntu-R.ttf") 调用引用的系统字体,但它引用的是字体应用程序资源文件。我没有资源文件,所以显然它不会工作。

.pro 文件如下(未修改示例文件):

QT += widgets
SOURCES = main.cpp

# install
target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tutorials/gettingStarted/gsQt/part1
INSTALLS += target

我尝试使用 QFontDatabase 获取系统字体,但没有成功:

app.setFont(QFontDatabase::systemFont(QFontDatabase::GeneralFont));

这不会对任何枚举值做任何事情,包括 QFontDatabase::GeneralFont

QFontDatabase database;
QStringList fam = database.families();

fam 大小为零。

接下来我会尝试使用内嵌字体。

最佳答案

我不知道问题的确切原因,但原因是在构建 qt 之前没有正确配置 fontconfig 依赖项。我通过重新配置和重新编译qt解决了它。您可以在 qt forum 找到更多详细信息。 .

关于c++ - QTextEdit 中的不可见文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45769727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com