Seite 1 von 2
Selektierten Dateipfad in einen Text edit anzeigen lassen
Verfasst: 28. Januar 2009 18:24
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)
{
}
Verfasst: 28. Januar 2009 19:31
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());
}
Verfasst: 28. Januar 2009 20:00
von Christian81
Könntest Du wenigstens versuchen in der Doku nach einer geeigneten QTextEdit - Funktion zu suchen?
Verfasst: 29. Januar 2009 08:59
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.
Verfasst: 29. Januar 2009 10:34
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!
Verfasst: 29. Januar 2009 13:15
von Christian81
Wie würdest Du eine Funktion nennen die Text setzt? Ich würde es mal mit QTextEdit::setText() probieren...
Verfasst: 29. Januar 2009 13:25
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");
Verfasst: 29. Januar 2009 13:51
von Mr.Undercover
kann ich den set text dann einfach sowas wie currenthpath oder sowas übergeben als parameter ? Gibt es sowas ?
Versuch
Verfasst: 29. Januar 2009 13:54
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....
Verfasst: 29. Januar 2009 16:50
von Christian81
Lern C++!
Verfasst: 29. Januar 2009 16:56
von Mr.Undercover
Ja bin ein neuling halt ihr könnt mir doch mal unter die arme greifen und sagen was daran falsch ist ?
Re: Versuch
Verfasst: 29. Januar 2009 17:22
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.
habs gemacht....Dennoch :(
Verfasst: 29. Januar 2009 17:46
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
Verfasst: 30. Januar 2009 07:49
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
}
Verfasst: 30. Januar 2009 14:59
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);
}
????????