QT: const char[] statt QString
-
hi,
habe eine frage zu QT: zum beispiel die methode QWidget::setWindowTitle() oder der konstruktor von QIcon erwarten einen QString, mein code sieht so aus:wind->setWindowTitle("ugga"); QIcon* icon = new QIcon("pfad");
eine andere beispielmethode QToolBar::addAction() erwartet die parameter: QIcon, QString, mein code sieht so aus:
tb->addAction(icon, "testo");
meine frage lautet: warum funktioniert der erste code aber nicht der zweite? der compiler beschwert sich weil das char array "testo" kein QString ist. Macht für mich auch sinn, dass man vorher den std::string in einen QString umwandeln müsste, aber warum funktionieren die ersten beispiel beispiele, dort ist doch genau das gleiche? Der einzige unterschied ist eben nur dass vor dem string noch ein icon als parameter übergeben wird.
also kann mir jemand verraten:
- warum wird das string literal im 1. beispiel automatisch in einen QString umgewandelt
- warum passiert nicht das selbe beim 2. beispiel
- wie kann ich das ändern
vielen dank
-
verzeihung, das problem war das icon. die methode erwartet keinen pointer sondern das objekt selbst, man muss es also mit
QIcon icon("pfad");
anlegen. die fehlermeldung hat mich verwirrt