Seite 1 von 1

absolute Pfade in relative umwandeln

Verfasst: 17. Oktober 2007 17:39
von 5000 Watt
Hallo,

das ist bestimmt eine voll noobige frage, aber wie kann ich einem QDir Objekt den Pfad zu meiner *.exe zuweisen, unabhängig wo meine *.exe gerade ist?

Verfasst: 17. Oktober 2007 18:01
von -=Freaky=-

Verfasst: 17. Oktober 2007 18:19
von 5000 Watt
Das habe ich auch schon gefunden, aber ich habe erst kürzlich mit Qt angefangen. Kannst du es auf mein Beispiel übertragen?

Code: Alles auswählen

	
        QString path;
	
	path = QFileDialog::getOpenFileName(
		this,
		"Choose the inputfile",
		QString::null,
		QString::null);
	
        //<-- absoluten Pfad zu einem relative zu meiner .exe umwandeln
	lineEdit_inputfile->setText( path );
hab das schon so versucht:

Code: Alles auswählen

	QDir direction(direction.QDir::absoluteFilePath ( "myqtapp.exe" );
	
	QString s = direction.relativeFilePath(path);
	
	lineEdit_inputfile->setText(ss);
aber irgendwo ist da ein Denkfehler

Verfasst: 17. Oktober 2007 18:23
von 5000 Watt
hehe, im Beispielcode vom Hersteller fehl das "File" in dem Beispielanweisungen

Verfasst: 17. Oktober 2007 18:25
von 5000 Watt
trotzdem hab ich keine Ahnung, wie ich das einsetzen muss

Verfasst: 17. Oktober 2007 19:01
von iaby

Code: Alles auswählen

QDir path(QFileDialog::getOpenFileName(
      this,
      "Choose the inputfile",
      QString::null,
      QString::null));

QString relativePath = path.relativeFilePath("myqtapp.exe");
Nicht getestet, sollte trotzdem gehen!

//Edit:
Frage ist jetzt nur noch ob das mit myqtapp.exe passt. Sonst such mal hier im Forum wie du den Pfad zu deiner .exe Datei bekommst!

Verfasst: 18. Oktober 2007 08:59
von 5000 Watt
Jetzt erstellt er mir aber keinen relativen Pfad zu meiner ausgewählten Datei sonder einen zu meiner .exe

Verfasst: 18. Oktober 2007 09:04
von 5000 Watt
Habs, richtig ist es so:

Code: Alles auswählen

QString path(QFileDialog::getOpenFileName(
      this,
      "Choose the outputfile",
      QString::null,
      QString::null));

	QDir dir("..\\myqtapp.exe");
	  
	lineEdit_inputfile->setText( dir.relativeFilePath(path));