Textgröße eines HTML formatierten Texts

Alles rund um die Programmierung mit Qt
Antworten
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Textgröße eines HTML formatierten Texts

Beitrag von AuE »

Hi,

ich steh gra ein wenig auf den Schlauch.... ich habe ein Label, welches via HTML gestylt ist, dort steckt dann auch die Fontsize drin.
Wenn ich jetzt aber die Fontsize haben mövhte, liefert mir label->font().pointSize() den Wert den ich in den Propertys eingestellt habe ( das ist aber nicht der jenige der im html steckt)

Gibt es ne Möglichkeit diese Größe abzufragen/setzen?

Also ausser via html splitten/suchen/ersetzen?
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Keiner eine Idee? Irgendwie muss ich doch an die Fontgröße kommen oder?

Hier mal ein kleines sample Programm:

Code: Alles auswählen

#include <QtGui/QApplication>
#include <QLabel>
#include <QDebug>
#include "widget.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QLabel *myLabel = new QLabel (NULL);
    myLabel->setText(QString("<span style=\" font-size:72pt;\">TextLabel</span>"));
    myLabel->show();

    qDebug() << "The label's font-pointSize is:" << myLabel->font().pointSize();
    qDebug() << "The label's font-pointSizeF is:" << myLabel->font().pointSizeF();


    //    Widget w;
//    w.show();
    return a.exec();
}
Ausabe:
sowas
Beiträge: 105
Registriert: 19. September 2006 16:02

Beitrag von sowas »

hallo,
soll die Lösung so aussehen?
###########

Code: Alles auswählen

    #include <QApplication>
    #include <QFont>
    #include <QPushButton>
    #include <QWidget>
    #include <QLabel>

    class MyWidget : public QWidget
    {
    public:
        MyWidget(QWidget *parent = 0);
    };

    MyWidget::MyWidget(QWidget *parent)
        : QWidget(parent)
    {
        setFixedSize(400, 120);
        QLabel *label = new QLabel("<p><i>Hallo </i><font color=red>Size!</font></p>",this);
        QPushButton *quit = new QPushButton(tr("Quit"), this);
        label->setFont(QFont("Verdana",48, QFont::Bold));

        quit->setGeometry(62, 80, 75, 30);
        quit->setFont(QFont("Times", 18, QFont::Bold));
        connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
    }

    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
        MyWidget widget;
        widget.show();
        return app.exec();
    }
###################
wie füge ich den Code grün und eingerückt ein?.
bk
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

sowas hat geschrieben: wie füge ich den Code grün und eingerückt ein?.
Siehe http://qtforum.de/forum/faq.php?mode=bbcode
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Code tags setzen ;-) Also [c o d e] am Anfang bzw [/ c o d e ] am Ende nur ohne Leerzeichen.

Leider ist deine Sache nicht die Lösung. Das Problem ist etwas anderes. Wenn ich einen Text in dem Label habe -> liefert mir pointSize() nicht den Wert den richtigen Wert! Siehe Beispiel!
Antworten