gpt4 book ai didi

qt - 在没有GUI的情况下获取字体指标(控制台模式)

转载 作者:行者123 更新时间:2023-12-04 08:42:48 25 4
gpt4 key购买 nike

假设某些图像必须由Qt控制台程序生成,并且内部算法需要字体指标(它们使用文本宽度/高度作为输入来计算绘图应在其中发生的位置)。该程序必须可以在没有任何GUI的Linux上运行(运行级别3,基本上是没有任何显示服务器的集群)。

问题: QFontMetrics仅在以GUI模式运行Qt应用程序时可用。
在没有任何显示服务器的情况下获取字符串指标的任何解决方法?

最佳答案

好的,再加上其他评论,我想我理解您的问题。
像这样做:

include <QApplication>

int main(int argv, char **args)
{
QApplication app(argv, args);
QApplication::processEvents(); // this should allow `QApplication` to complete its initialization

// do here whatever you need

return 0; // or some other value to report errors
}

您也可以尝试使用 QGuiApplication这个版本不需要(不使用)小部件。

另请参见 example in documentation如何处理无GUI情况。

这段代码在Qt 5.3上的Ubnutu上运行良好
#include <QGuiApplication>
#include <QFontMetrics>
#include <QDebug>

int main(int argc, char *argv[])
{
QGuiApplication a(argc, argv);

QFont font("Times", 10, QFont::Bold);
qDebug() << font;
QFontMetrics metrics(font);

qDebug() << metrics.boundingRect("test");

return 0;
}

当使用 QApplication时,它也适用于Qt 4.8。

项目文件非常简单
QT       += core
TARGET = MetricsNoGui
TEMPLATE = app
SOURCES += main.cpp

关于qt - 在没有GUI的情况下获取字体指标(控制台模式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31732698/

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