Seite 1 von 1
[gelöst] QProcess Problem
Verfasst: 5. September 2006 16:32
von archon
Hallo,
wie so oft komm ich einfach nicht weiter.
Folgendes Problem:
Ich möchte über einen FileDialog im MainProg eine Datei auswählen und dann in wordpad aufrufen. Das MainProg und Wordpad sollen separat laufen und sich nicht weiter behindern.
Ich habs mal mit folgendem Code probiert:
Code: Alles auswählen
QString s = QFileDialog::getOpenFileName(
"/home",
"Config (*.conf)",
this,
"open file dialog"
"Choose a file" );
QProcess *proc = new QProcess( this );
proc->addArgument( "wordpad.exe" );
proc->addArgument( s );
proc->start();
Der Filedialog funzt aber die Anwendung startet nicht.
(wordpad (write.exe) ist im prog ordner)
Weiss jemand Rat?
Verfasst: 6. September 2006 00:29
von ChMaster
versuchs mal damit
Code: Alles auswählen
QStringList m_param;
QString s = QFileDialog::getOpenFileName(
"/home",
"Config (*.conf)",
this,
"open file dialog"
"Choose a file" );
QProcess *proc = new QProcess( this );
m_param.append( s );
proc->start( "wordpad.exe", m_param );
/*
oder so:
proc->start( "wordpad.exe", QStringList() << s );
*/
Verfasst: 6. September 2006 10:27
von archon
Das einzigste was passiert wenn ich letzteres verwende ist das neben dem Mauspfeil die Sanduhr kommt die auch bleibt.
Wenn ich in den Taskmanager schau öffnet sich wordpad immer und immer wieder. Ich kann den Prozess nicht so schnell beenden wie sich wp öffnet...

ch verwende qt3)
?!?
Verfasst: 6. September 2006 15:25
von ChMaster
archon hat geschrieben:
....

ch verwende qt3)
?!?
warum noch Qt3? Qt4 ist OS und ist auch für windows vorhanden und um
einiges besser als qt3

Verfasst: 6. September 2006 16:34
von archon
das system besteht bereits... ein portieren auf qt4 wäre zu aufwendig. qt3 tuts auch
Verfasst: 6. September 2006 17:51
von FlorianBecker
Er meinte damit etwa folgendes:
Alle Anwendungen die mit dem Einzug von KDE4 nicht Qt4 sind werden früher oder später, ehr früher nicht mehr verwendet, weil KDE eigentlich immer die Qt Version vorgibt. Unter Windows kann das etwas anderes sein, aber ich denke mit Vista oder nächsten Systemen gibt es da bestimmt auch Probleme.
Ich kann auch Qt3 nutzen, aber nach 2 Jahren Qt4 ist es noch einfacher Anwendungen zu schreiben und ich habe vollständig allen Code auf Qt4 portiert, bzw. wird das noch passieren, wo es nicht vollständig fertig ist.
Verfasst: 7. September 2006 09:13
von archon
hmm...wär eine überlegung wert...ich werde es mal bei der nächsten besprechung in die runde schmeissen.
Die Anwendung wird gerade unter windows programmiert...du meinst also das selbst die kompilierte qt3 anwendung dann nicht unter dem neuerem kde läuft? Man könnte ja um die linux version zu portieren auch ein älteren kde verwenden?
Verfasst: 12. September 2006 15:03
von archon
So klappts jetzt unter qt3.2.1
Code: Alles auswählen
QString s = QFileDialog::getOpenFileName(
"/gui",
"Config (*.txt)",
this,
"open file dialog"
"Choose a file" );
QProcess *proc = new QProcess( this );
proc->addArgument( "write" );
proc->addArgument(s);
if ( !proc->start() ) logTextBrowser->append("cound not start editor");
Idiotensicher!