Ich lerne Qt und laufende Beispiele aus Qt SDK 5.9.1. Ich führe den folgenden Code aus und schreibe in QTextEdit, aber es erscheint kein Text. Der Cursor bewegt sich, während ich schreibe, aber es wird kein Text angezeigt. Fenstertiteltext wird angezeigt. Ich fügte addApplicationFont
und setFont
Anrufe unten hinzu, die ich vom Netz zur Probe fand, aber es half nicht.Unsichtbarer Text in QTextEdit
#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();
}
Ich bin auf Ubuntu 16.04 und folgende Befehle auf bash ausführen ausführbar zu machen:
qmake -makefile
make
./part1
Ich mag die App das Standard-Ubuntu-System Schriftart verwenden. Ich habe gelernt, dass Qt fontconfig für Schriftarten verwendet, aber ich weiß nicht, wie ich das Problem verfolgen kann.
bearbeiten
Ich dachte QFontDatabase::addApplicationFont("://Ubuntu-R.ttf")
Aufruf referenzierten Systemschriftart sondern Schriftart App Ressourcendatei es verweist. Ich habe keine Ressourcendatei, also wird es offensichtlich nicht funktionieren.
.proDatei unter (unmodifiziert Beispieldatei):
QT += widgets
SOURCES = main.cpp
# install
target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tutorials/gettingStarted/gsQt/part1
INSTALLS += target
ich versucht, mit QFontDatabase Systemschriftart zu bekommen, aber es hat nicht funktioniert:
app.setFont(QFontDatabase::systemFont(QFontDatabase::GeneralFont));
Das macht nichts mit einem ENUM-Werte einschließlich QFontDatabase::GeneralFont
QFontDatabase database;
QStringList fam = database.families();
fam
siz e ist Null.
Ich werde versuchen, eingebettete Schriftart als nächstes zu verwenden.