[QT4, MSVC] Icon + AcrobatReader

Alles rund um die Programmierung mit Qt
m.trix
Beiträge: 49
Registriert: 12. Oktober 2005 09:51
Wohnort: Manhattan

[QT4, MSVC] Icon + AcrobatReader

Beitrag von m.trix »

Hallo zusammen. Ich bin neu und hab gleich 2 (:shock:) Problemchen, die ich auch nach längerem suchen nicht lösen könnte. Ach ja, und Qt-n00b bin ich auch noch... :(

1.
Qt will mir einfach mein Icon nicht links oben in die Fensterleiste tun. Keine Fehler, in der .qrc steht das Icon auch drin.

Code: Alles auswählen

window->setWindowIcon(QIcon("rs.png"));
Müsste doch eigentlich reichen? (window = QWidget)

2.
Wie kann ich Qt dazu nötigen, mir ein PDF aufzumachen? Bisher geht nur ein popeliges popup mit 'ner kleinen Hilfe auf. Hab schon die Hilfe geschrieben, aber bekomms nicht raus wie ich das PDF aufmachen kann.

Weis jemand Rat?
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

zeige uns mal was in der .rc Datei steht.
willst du die PDF's über den Assistenten starten oder aus deinem Programm herraus?
m.trix
Beiträge: 49
Registriert: 12. Oktober 2005 09:51
Wohnort: Manhattan

Beitrag von m.trix »

app.qrc:

Code: Alles auswählen

<RCC>
    <qresource prefix="/app">
      <file>images/logo.png</file>
		<file>images/on.ico</file>
		<file>images/rs.ico</file>
    </qresource>
</RCC>
In der von Qt erstellenten qrc_app.cpp stehen die Icons drin. Deswegen versteh ich nicht wirklich warum die Icons nicht eingebunden werden.

Bei F1 soll anstelle eines popup die Hilfe.pdf geöffnet werden. Der Pfad soll erstmal egal sein, wird wohl erstmal ein absoluter sein. Was du mit dem Assistenen meinst, versteh ich nicht. Wie schon gesagt, n00b...
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

m.trix hat geschrieben:In der von Qt erstellenten qrc_app.cpp stehen die Icons drin. Deswegen versteh ich nicht wirklich warum die Icons nicht eingebunden werden.
Nimm die Qt-Hilfe und such mal nach "Setting the Application Icon", Suchbegriff in Anführungszeichen.
m.trix hat geschrieben:Bei F1 soll anstelle eines popup die Hilfe.pdf geöffnet werden.
Ich überlasse das dem System, denn Du weißt ja nicht mit welchem Programm der User PDFs geöffnet haben will. Unter Win wäre das so:

Code: Alles auswählen

QFileInfo fi(helpfile.fileName());
ShellExecute(NULL, QString("open").utf16(), fi.absoluteFilePath().utf16(), NULL, NULL, SW_SHOW);
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

Kein wunder das kein Bild angezeigt wird.
:/app/images/logo.png muss es heisen
m.trix
Beiträge: 49
Registriert: 12. Oktober 2005 09:51
Wohnort: Manhattan

Beitrag von m.trix »

@Bart: Das isses leider nicht. Deswegen das "prefix". Damit sollt ich mir den absoluten Pfad sparen.

@macman: Das mit dem Icon klappt herrvoragend! Mit ShellExecute bin ich gar am basteln. Vielen Dank schon mal!

Eine Frage noch bezüglich der Icons:
Ich hab ein QLabel in der app das mir anzeigt, ob der Verbindungsaufbau erfolgreich ("TRUE" bzw. "FALSE") war. Wenn ich jetz anstelle davon 2 Icons verwenden will, wie muss ich selbige dann aufrufen? Kann ich einem QLabel ein Icon zu ordnen, oder muss ich da was anderes in mein QGridLayout schmeissen?

Aber trotzdem schon mal vielen Dank!
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

m.trix hat geschrieben:Kann ich einem QLabel ein Icon zu ordnen,
Da haben wir es wieder, was gerade in einem anderen Thread angesprochen wurde.
void setPixmap ( const QPixmap & )
void setPicture ( const QPicture & picture )
m.trix
Beiträge: 49
Registriert: 12. Oktober 2005 09:51
Wohnort: Manhattan

Beitrag von m.trix »

Ok, das hätt ich selber suchen können. Danke nochmal.

Nochmal zurück zum ShellExecute:
error LNK2001: unresolved external symbol __imp__ShellExecuteW@24
fatal error LNK1120: 1 unresolved externals

Ich weis das was fehlt. Aber nicht was.
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Auch VisualStudio hat eine Hilfe :)
shell32.lib
lepsai
Beiträge: 573
Registriert: 14. September 2004 21:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von lepsai »

Wir gehen zu: http://msdn.microsoft.com/library/defau ... xecute.asp

und stellen fest, wir brauchen shell32.lib
m.trix
Beiträge: 49
Registriert: 12. Oktober 2005 09:51
Wohnort: Manhattan

Beitrag von m.trix »

Das hab ich auch rausgefunden. Ich dacht aber das die shellapi.h reicht. *.lib einzubinden ist mit bisher erspart geblieben. :)
lepsai
Beiträge: 573
Registriert: 14. September 2004 21:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von lepsai »

Der Fehler war ein Linker-Fehler. Der Linker hat mit den Header-Dateien wenig zu tun...
m.trix
Beiträge: 49
Registriert: 12. Oktober 2005 09:51
Wohnort: Manhattan

Beitrag von m.trix »

Ja ja, immer auf den neuen rumhacken. :mrgreen:
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

m.trix hat geschrieben:Ja ja, immer auf den neuen rumhacken. :mrgreen:
Is nicht wahr, macht er auch mit den Alten *g* :D

Goos
m.trix
Beiträge: 49
Registriert: 12. Oktober 2005 09:51
Wohnort: Manhattan

Beitrag von m.trix »

Dann bin ich ja beruhigt.
:wink:
Antworten