Anzeige:
Seite 3 von 3 ErsteErste 123
Ergebnis 31 bis 34 von 34

Thema: Qt3 verstehe nicht wie der QString funktioniert.

  1. #31
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Zitat Zitat von chapaev
    Es ist doch so, wenn man ein String in ein Pointer verwandelt, alles was sich ändert ist *!
    z. B. String: textEdit->setText(string)
    Pointer: textEdit->setText(*string)
    Das ist jetzt definitiv der unwichtigste Teil von "all dem was sich ändert". Am besten schaust du wirklich mal in ein C++ Grundlagenbuch wie Thinking in C++ von Bruce Eckel (online lesbar) oder so.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  2. #32
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von chapaev
    Es ist doch so, wenn man ein String in ein Pointer verwandelt, alles was sich ändert ist *!
    Nennt man dereferenzieren, hab ich glaub ich auch mal erwähnt.
    Ist halt nicht so leicht, das Kenntnisniveau von C++ Anfängern abzuschätzen

    Wieso bekomme ich am ende anstatt utf komische Zeichen?
    Der Code sieht bischen komisch aus.
    setText sieht jetzt im Kontext der anderen Beiträge wie eine Methode aus, die einen QString als Parameter hat und die Variable sieht wegen der Methode utf8() wie ein QString aus.
    Warum rufst du dann utf8() auf, das einen C String zurückgibt?

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  3. #33
    Registrierter Benutzer
    Registriert seit
    05.06.2004
    Ort
    mainaschaff
    Beiträge
    109

    Exclamation

    Das ist jetzt definitiv der unwichtigste Teil von "all dem was sich ändert". Am besten schaust du wirklich mal in ein C++ Grundlagenbuch wie Thinking in C++ von Bruce Eckel (online lesbar) oder so.
    Ja ok noch ädern sich die Methoden wie man was und wo einsetzt, aber im Prinzip ist es das selbe

    Der Code sieht bischen komisch aus.
    setText sieht jetzt im Kontext der anderen Beiträge wie eine Methode aus, die einen QString als Parameter hat und die Variable sieht wegen der Methode utf8() wie ein QString aus.
    ähh, sorry aber ich habe kein wort verstanden.
    Naja wahrscheinlich muss ich noch die Begriffe lehrnen!
    Warum rufst du dann utf8() auf, das einen C String zurückgibt?
    So wie ich das verstehe (hab irgend wo gelesen), wird ein QString immer in utf8 erstellt (wenn man nichts vorgiebt). Also muss es am Textedit liegen. Wie sonst kann ich einem TextEdit weis machen das es utf8 ist, wenn die funktion utf8() an ein TextEdit nicht anwendbar ist?


  4. #34
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von chapaev
    ähh, sorry aber ich habe kein wort verstanden.
    setText erwartet einen QString.
    Du hast einen QString, aber aus unerklärlichen Gründen scheint dir das nicht gut genug zu sein und du rufst QString:utf8() auf um extra einen C String zu erzeugen.
    Sieht für mich bischen nach einen Fehler aus.

    So wie ich das verstehe (hab irgend wo gelesen), wird ein QString immer in utf8 erstellt (wenn man nichts vorgiebt).
    Ein QString ist intern immer UTF-16

    Also muss es am Textedit liegen.
    Nein, an deinem überflüssigen utf8() Aufruf.
    Der erzeugt, wie man in der Qt API Doku sehen kann, nämlich eine UTF-8 Repräsentation des QString Inhalts und UtF-8 enthält Werte, die in Latin1 nichtdarstellbare Zeichen sind und bei der Impliziten Rückkonversion in QString (weil das ja der Parameter ist den setText erwartet) entsprechend interpretiert werden.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •