Ok after additional comments, I think I understand your problem. Just do it like this:
include <QApplication> int main(int argv, char **args) { QApplication app(argv, args); QApplication::processEvents();
You can also try using QGuiApplication , this version does not require (does not use) widgets.
See also the example in the documentation on how to handle no cases of gui.
This code works fine on my Ubnutu with Qt 5.3
#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; }
It also works with Qt 4.8 when using QApplication .
The project file was pretty simple
QT += core TARGET = MetricsNoGui TEMPLATE = app SOURCES += main.cpp
source share