QTextEdit 中的不可见文本
Invisible text in QTextEdit
我正在学习 Qt 和 运行ning 来自 Qt SDK 5.9.1 的示例。我 运行 下面的代码并在 QTextEdit 中写入但没有出现文本。光标在我书写时移动,但没有显示任何文字。 Window 显示标题文本。我在示例中添加了 addApplicationFont
和 setFont
调用,但没有帮助。
#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.
找到更多详细信息
我正在学习 Qt 和 运行ning 来自 Qt SDK 5.9.1 的示例。我 运行 下面的代码并在 QTextEdit 中写入但没有出现文本。光标在我书写时移动,但没有显示任何文字。 Window 显示标题文本。我在示例中添加了 addApplicationFont
和 setFont
调用,但没有帮助。
#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.
找到更多详细信息