[gelöst]Qt SplashScreen problem

Verschiedenes zu Qt
Nash
Beiträge: 118
Registriert: 27. April 2007 14:49

Beitrag von Nash »

nein, das funktioniert doch über dieses QMake, ich arbeite nicht mit QMake
reines Visual Studio...

ich hatte mal gelesen das man das hier einfach irgendwo einfügen muss...

editbin /subsystem:windows $(OutDir)\$(TargetFileName)
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Dann sollte man sich aber auch mit der IDE auskennen.... naja

Eigenschaften des Projektes -> Konfiguration -> Linker -> System -> SubSystem
Und dann nicht vergessen gegen qtmain(d).lib zu linken!
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Nash
Beiträge: 118
Registriert: 27. April 2007 14:49

Beitrag von Nash »

habs gefunden, aber ich kann dort nur aus Vorgefertigten SubSystems auswählen...

Windows (/SUBSYSTEM:WINDOWS)
Console (/SUBSYSTEM:CONSOLE)
WindowsCE (/SUBSYSTEM:WINDOWSCE)
etc..

das kann ich dort nicht eingeben
editbin /subsystem:windows $(OutDir)\$(TargetFileName)
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ich gebs auf...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Nash
Beiträge: 118
Registriert: 27. April 2007 14:49

Beitrag von Nash »

ach komm schon, ich werd dich schon nicht entäuschen
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Nein - es steht schon alles da... :roll:
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
AromatKnorrli
Beiträge: 3
Registriert: 21. August 2007 14:45

: statt .

Beitrag von AromatKnorrli »

habe ich das recht verstanden, dass das problem lediglich der : bei splash->setPixmap(QPixmap(":/images/splash.png")); war, der gegen einen punkt ersetzt werden musste (sofern die datei vorhanden ist)?

finde, dass hätte man schon noch schreiben müssen

ist schon traurig wenn's an sonem detail scheitert :oops:

gibts denn eine erklährung für den ":"? da muss doch was drann sein, wenn das in allen tutorials und lehrbüchern so gedruckt ist :?: :?: :?:

ps: first-post und ich möchte euch sagen: tolles forum!

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

Beitrag von Christian81 »

Das Problem lag nicht beim ':'
Es gibt schon einen Unterschied zwischen ':' und '.' - aber Nash hat es auch geschrieben:
er hat den Pfad zum Bild nicht gefunden, das gute pixmap liefert mir leider keinen Null zeiger zurück, wenn er kein Bild findet.
Das mit dem Null-Pointer war natürlich Blödsinn, aber der Rest ist richtig. Ich würde mal dies hier durchlesen: http://doc.trolltech.com/4.3/resources.html um den Unterschied zwischen '.' und ':' zu sehen.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
AromatKnorrli
Beiträge: 3
Registriert: 21. August 2007 14:45

splash ohne vs

Beitrag von AromatKnorrli »

habe übrigns gerade noch was anderes herausgefunden:

das splash-bild wird nicht in das exe eingebunden.
dh: wenn das exe nicht mehr mit dem vs gestartet wird, muss sichergestellt werden, dass relativ vom exe aus der pfad zur splash datei korrekt ist bzw existiert

na dann
gut splash :D
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Das ist ja gerade der Sinn von ':' - und warum ich den Link zum Qt-Resourcessystem gepostet habe...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
gerome69
Beiträge: 188
Registriert: 28. April 2006 22:50
Wohnort: Berlin
Kontaktdaten:

Beitrag von gerome69 »

Nash hat geschrieben:jetzt weiß ich wie ich über VS qrc files generieren kann.

so findet er dann auch die Bilder.

anbei du hattest gesagt das das hier keine gute Lösung sei für QT ohne Konsole öffnen:

Code: Alles auswählen

#ifdef Q_WS_WIN
#define WIN32_LEAN_AND_MEAN
#include "windows.h"
int main(int argc, char **argv);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                                 LPSTR lpCmdLine, int nCmdShow)
{
  return main(__argc, __argv);
}
#endif 
gibt es eine besser in Visual Studio?
Diesen ganzen Schmarrn brauchst du nicht.
Was steht in deinem .pro-File?
Etwa sowas wie "CONFIG +=console". Entferne das Console.
Mit "TEMPLATE=app" bekommste eine wunderbare windows-Applikation ohne Consolen-Fenster.

G.
Volker
Beiträge: 343
Registriert: 30. Juni 2005 05:27

Beitrag von Volker »

wenn man aber nicht mit .pro Dateien sondern mit Visual Studio Projektdateien arbeitet, dann ist es wie Christian bereits geschrieben hat, nur nötig entsprechend in den Linker Einstellungen das Subsystem auf Windows zu ändern.
Wie ich mittlerweile auch weiß, reicht dann ein linken gegen die qtmain(d).lib um die in diesem Fall eigentlich fehlende WinMain Funktion nicht selbst implementieren zu müssen. siehe hier

Ich zum Beispiel richte zum Debuggen meist als Subsystem Console ein, während ich es in den Release Einstellungen auf Windows umstelle.
Bitte seid so nett und ändert den Titel von Beiträgen die gelöst wurden, auf [gelöst] Beitragstitel
Nahasapeemapetilon20
Beiträge: 20
Registriert: 13. August 2007 18:42

Beitrag von Nahasapeemapetilon20 »

irgendwie sehe ich in deiner kleine anwendung auch nicht das du deiner QApplication nen mainWidget gibst ....wird dein tool überhaupt richtig beendet oder laufen schon 200 instanzen im hintergrund ^^

//QApplication::setMainWidget ()...

//app.setMainWidget();

oder hab ich was übersehen
Nash
Beiträge: 118
Registriert: 27. April 2007 14:49

Beitrag von Nash »

Volker hat geschrieben:wenn man aber nicht mit .pro Dateien sondern mit Visual Studio Projektdateien arbeitet, dann ist es wie Christian bereits geschrieben hat, nur nötig entsprechend in den Linker Einstellungen das Subsystem auf Windows zu ändern.
Wie ich mittlerweile auch weiß, reicht dann ein linken gegen die qtmain(d).lib um die in diesem Fall eigentlich fehlende WinMain Funktion nicht selbst implementieren zu müssen. siehe hier

Ich zum Beispiel richte zum Debuggen meist als Subsystem Console ein, während ich es in den Release Einstellungen auf Windows umstelle.
Danker Volker, ach ich muss also gegen qtmain.lib linke...so geht das also, das hätte christian schon vor 3 monaten sagen können :roll: , jetzt habe ich eine saubere Qt Anwendung ..thx
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Nash hat geschrieben: Danker Volker, ach ich muss also gegen qtmain.lib linke...so geht das also, das hätte christian schon vor 3 monaten sagen können :roll: , jetzt habe ich eine saubere Qt Anwendung ..thx
von mir hat geschrieben: Dann sollte man sich aber auch mit der IDE auskennen.... naja

Eigenschaften des Projektes -> Konfiguration -> Linker -> System -> SubSystem
Und dann nicht vergessen gegen qtmain(d).lib zu linken!
... :roll:
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten