Seite 1 von 1
[gelöst] Datei je nach Endung aus Qt heraus "öffnen&quo
Verfasst: 15. Juni 2005 21:43
von kowi1134
Hallo,
wie rufe ich aus Qt heraus eine Datei auf, die dann je nach Endung der Datei mit dem richtigen Programm geöffnet wird?
Konkreter Fall (liegt etwas anderes):
- Ein Word Dokument soll entweder auf Knopfdruck mit Word geöffnet oder aber in einem Widget angezeigt werden.
- Evtl. soll in eben diesem Widget aber auch HTML Text stehen, der Anker aufweist und in dem "anständig" gebrowst werden kann. Kann ich den HTML-Text irgendwie geschickt aus einer Datei reinladen?
Weitere Frage:
Wie bekommt meine executable eine eigenes Icon?
Ciao
Konrad
Verfasst: 15. Juni 2005 21:45
von kowi1134
Ok, ich habe zumindest ein Problem selbst gelöst:
Einen TextBrowser kann ich mit QTextBrowser erstellen.
Verfasst: 15. Juni 2005 22:10
von FlorianBecker
Word Dokument im Widget:
Wenn du ein Word Dokument in einem Widget anzeigen lassen willst brauchst du erstmal einen Word Filter, der das Word Dokument lesen kann. Dann kannst du es in einem Widget darstellen.
Word Dokument mit Word öffnen:
Code: Alles auswählen
QStringList s;
s << "rundll32.exe" << "url.dll,FileProtocolHandler" << dokument;
QProcess p( s );
p.start();
Executable Icons (Windows Only):
Eine rc Datei anlegen im *.pro File so:
RC_FILE = rcfile.rc
Im rc File dann so:
IDI_ICON1 ICON DISCARDABLE "icon.ico"
Verfasst: 15. Juni 2005 22:44
von kowi1134
Danke!
Auf Word verzichte ich lieber. Das hat sowieso nicht jeder - hingegen der TextBrowser eine feine Sache ist
Ich habe folgendes Problem mit meinem Textbrowser namens textBrowserHelp. Er liegt in meinem Programm als Zeiger vor und ich möchte jetzt während der Laufzeit ein Dokument reinladen. Das mache ich wie folgt:
Code: Alles auswählen
textBrowserHelp->mimeSourceFactory()->setExtensionType("html", "text/html;charset=iso8859-1");
if (!QFile::exists("../docs/index.html"))
Message::notice("datei nicht gefunden"); // eigene Meldungsklasse
textBrowserHelp->setSource( "../docs/index.html" );
textBrowserHelp->reload();
textBrowserHelp->update();
Dabei gibt es zwar keinen Fehler, aber es wird auch nichts angezeigt. Dass der Code überhaupt ausgeführt, habe ich sicher gestellt, indem ich die HTML Datei ../docs/index.html mal gelöscht habe. Es kommt dann ein Hinweis.
Warum sehe ich nichts in meinem TextBrowser?
PS: in der ../docs/index.html Datei steht folgendes:
Code: Alles auswählen
<html>
<head>
<title></title>
<body>Hallo</body>
</head>
</html>
Also einfachster HTML Code
Verfasst: 15. Juni 2005 23:10
von kowi1134
Problem gelöst:
Code: Alles auswählen
textBrowserHelp->mimeSourceFactory()->addFilePath("../docs");
textBrowserHelp->mimeSourceFactory()->setExtensionType("html", "text/html;charset=iso8859-1");
if (!QFile::exists("../docs/index.html"))
Message::notice("datei nicht gefunden");
textBrowserHelp->setSource( "../docs/index.html" );
textBrowserHelp->reload();
textBrowserHelp->update();