Selektierten Dateipfad in einen Text edit anzeigen lassen

Du bist neu in der Welt von C++? Dann schau hier herein!
Mr.Undercover
Beiträge: 68
Registriert: 28. Oktober 2008 23:44

Selektierten Dateipfad in einen Text edit anzeigen lassen

Beitrag von Mr.Undercover »

Halli Hallo, :)

Es ist eigentlich was ziemlich einfaches nur ich habe das noch nicht gemacht, deshalb weiss ich nicht wie das geht... Ich habe jetzt einen Browser Button erstellt womit ich mir eine Datei bzw. Pfad selektieren kann. Nun möchte ich, dass dieser selektierte Pfad in den TextEdit angezeigt wird... Diese Situation hat man oft bei Installationspfade...

Ich würde mich sehr über eure hilfe freuen...

MfG

p.S.:

Ich habe es mit QtDir Current Path () versucht das hat leider nicht so richtig funktioniert....

Methode:
void LittleTool::on_lineEdit_textChanged(const QString &text)
{


}
----------------------------------------------------------

Ich bedanke mich im voraus für eure Mühe...

MfG
Mr.Undercover
Beiträge: 68
Registriert: 28. Oktober 2008 23:44

Beitrag von Mr.Undercover »

p.S.: Kurz gefasst ich möchte einfach nur , dass der Pfad der ausgewählten Datei durch den Browser Button einfach in LineEdit angezeigt wird....

das ist die Methode für den Browser Button:
SourceCode:
void LittleTool::on_toolButton_2_clicked()
{
QString directory1 = QFileDialog::getOpenFileName(this,
tr("Find Files"), QDir::currentPath());

}
----------------------------------------------------------

Ich bedanke mich im voraus für eure Mühe...

MfG
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Könntest Du wenigstens versuchen in der Doku nach einer geeigneten QTextEdit - Funktion zu suchen?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
RavenIV
Beiträge: 267
Registriert: 21. Januar 2009 14:24
Wohnort: Waldshut

Beitrag von RavenIV »

Selbst ist der Mann.
Die Hilfe und der QtQssistant leisten gute Dienste.
Ansonsten gibt es noch dieses Forum, welches auch eine Suchfunktion bietet.

Ausserdem solltest Du den Code nochmal überdenken.
on_toolButton_2_clicked und QString directory1 sind keine so tollen Namen.
Linux, das längste Text-Adventure aller Zeiten
Mr.Undercover
Beiträge: 68
Registriert: 28. Oktober 2008 23:44

Beitrag von Mr.Undercover »

@Christian: Also ich habe nach einer geeigneten Funktion schon geschaut gehabt, aber habe nix sinnvolles gefunden... Oder habe ich was übersprungen ? bzw. überlesen ?

@raven: ich habe das nur zu test zwecken noch so drin stehen gelassen, denn die gui habe ich ja mit dem designer auf die schnelle gemacht... Ändere das aber aufjedenfall noch um... Dennoch vielen dank für den hinweis!
----------------------------------------------------------

Ich bedanke mich im voraus für eure Mühe...

MfG
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Wie würdest Du eine Funktion nennen die Text setzt? Ich würde es mal mit QTextEdit::setText() probieren...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
STS301
Beiträge: 26
Registriert: 24. Januar 2009 18:50

Beitrag von STS301 »

jo, wenn allerdings schon etwas drinnen ist, nimm

Code: Alles auswählen

ui->editsfeld->setText(ui->editsfeld->text() + "das was du schreiben willst");
mfg STS301
Mr.Undercover
Beiträge: 68
Registriert: 28. Oktober 2008 23:44

Beitrag von Mr.Undercover »

kann ich den set text dann einfach sowas wie currenthpath oder sowas übergeben als parameter ? Gibt es sowas ?
----------------------------------------------------------

Ich bedanke mich im voraus für eure Mühe...

MfG
Mr.Undercover
Beiträge: 68
Registriert: 28. Oktober 2008 23:44

Versuch

Beitrag von Mr.Undercover »

Ich habe es halt mal so probiert , aber da funktioniert es ja auch nicht sogesehen....

void Tool::on_toolButton_2_clicked(){

QString directory2 = QFileDialog::getOpenFileName(this,
tr("Find Files"), QDir::currentPath());
}

void Tool::on_lineEdit_textEdited(QString)
{
QTextEdit::setText(directory2);
}

dann sagt es zu mir dass directory2 ein undecleared identifier ist....
----------------------------------------------------------

Ich bedanke mich im voraus für eure Mühe...

MfG
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Lern C++!
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Mr.Undercover
Beiträge: 68
Registriert: 28. Oktober 2008 23:44

Beitrag von Mr.Undercover »

Ja bin ein neuling halt ihr könnt mir doch mal unter die arme greifen und sagen was daran falsch ist ?
----------------------------------------------------------

Ich bedanke mich im voraus für eure Mühe...

MfG
RavenIV
Beiträge: 267
Registriert: 21. Januar 2009 14:24
Wohnort: Waldshut

Re: Versuch

Beitrag von RavenIV »

Mr.Undercover hat geschrieben:
dann sagt es zu mir dass directory2 ein undecleared identifier ist....

directory2 muss eine Member-Variable sein.
Du hasst doch sicher eine .h Datei.
Dort im Abschnitt "private" legst Du eine m_directory2 als QString an.
Dann in beiden Funktionen die m_... verwenden und schon klappt es.
Linux, das längste Text-Adventure aller Zeiten
Mr.Undercover
Beiträge: 68
Registriert: 28. Oktober 2008 23:44

habs gemacht....Dennoch :(

Beitrag von Mr.Undercover »

So sehen die Files bei mir aus...


header :

private:
Ui::ToolClass ui;

QString *directory2;



source (tool):

void Tool::on_toolButton_2_clicked(){

QString directory2 = QFileDialog::getOpenFileName(this,
tr("Find Files"), QDir::currentPath());
//on_lineEdit_textEdited(directory2);

on_lineEdit_textEdited(directory2);
}


void Tool::on_lineEdit_textEdited(QString){

QTextEdit::setText(directory2);
}


Fehlermeldung....
1>tool.cpp
1>.\tool.cpp(68) : error C2664: 'QTextEdit::setText' : cannot convert parameter 1 from 'QString *' to 'const QString &'
1> Reason: cannot convert from 'QString *' to 'const QString'
1> No constructor could take the source type, or constructor overload resolution was ambiguous
1>main.cpp
----------------------------------------------------------

Ich bedanke mich im voraus für eure Mühe...

MfG
archer
Beiträge: 306
Registriert: 2. Februar 2006 09:56

Beitrag von archer »

Probier es mal mit

header :

Code: Alles auswählen


public slots:
    void on_toolButton_2_clicked();

private:
    Ui::ToolClass ui;

source (tool):

Code: Alles auswählen

void Tool::on_toolButton_2_clicked()
{
    QString dir = QFileDialog::getOpenFileName(
                           this,
                           tr("Find Files"), 
                           QDir::currentPath());

     ui.textEdit->setText(dir);  // Wenn textEdit der Name ist

}
Mr.Undercover
Beiträge: 68
Registriert: 28. Oktober 2008 23:44

Beitrag von Mr.Undercover »

Also ich habe deine Variante versucht ich kriege zwar keine Fehlermeldung aber der Text wird nicht bei LineEdit angezeigt? bzw. der pfad der gewählten Datei:

//2. Datei Browser
void Tool::on_toolButton_2_clicked(){

QString directory2 = QFileDialog::getOpenFileName(this,
tr("Find Files"), QDir::currentPath());
//ui.lineEdit->displayText(directory2);
ui.lineEdit->setText(directory2);
}


????????
----------------------------------------------------------

Ich bedanke mich im voraus für eure Mühe...

MfG
Antworten