Seite 1 von 1

Startwindow mit Logo

Verfasst: 23. November 2011 10:07
von annica
Hallo,

ich bin dabei ein größeres Projekt fertigzustellen. Nun kam ich auf die Idee ein Startfenster einzubauen. Auf dem soll man das Logo sehen und vielleicht die Kooperationspartner...Beim starten soll man es dann vielleicht 4 sek sehen und dann soll sich das eigentliche Programm erst öffnen. Ich habe jetzt schon mehrere Ansätze probiert, aber das funktioniert nicht so ganz, man sieht nie ein Bild :(. Habt ihr eine Idee?
Hier mein Code:

Code: Alles auswählen

StartWindow::StartWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::StartWindow)
{
    ui->setupUi(this);

    QLabel * logo = new QLabel();
    logo->setPixmap( QPixmap( ":/images/logo.png" ) );
    logo->setObjectName( "IQSoftLogo" );
    logo->setAlignment( Qt::AlignCenter );

    // layout holding all items
    QVBoxLayout * masterLayout = new QVBoxLayout();
    masterLayout->addSpacing( 50 );
    masterLayout->addWidget( logo );
    masterLayout->setAlignment( Qt::AlignTop );
    masterLayout->setSpacing( 10 );

    // create a central widget to hold layout
    QWidget * central = new QWidget();
    central->setLayout( masterLayout );

    // inform parent class
    this->setCentralWidget( central );

    // set title
    this->setWindowTitle( "Welcome" );
}
Kann man sowas auch professioneller machen?

Re: Startwindow mit Logo

Verfasst: 23. November 2011 10:31
von archer
Schau dir mal QSplashScreen an.

Re: Startwindow mit Logo

Verfasst: 23. November 2011 14:01
von annica
Ja sehr gut, das funktioniert prinzipiell...Ich habe folgenden Code:

Code: Alles auswählen

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QSplashScreen *splash = new QSplashScreen;
    //funktioniert-->
    splash->setPixmap(QPixmap("D:/MyPrograms/MyGUI/images/logo.png"));
    //funktioniert nicht :(
    //splash->setPixmap(QPixmap(":/images/logo.png"));
    splash->show();

    SelectionWindow w;

    QTimer::singleShot(2000, splash, SLOT(close()));
    Sleep(2000);
    QTimer::singleShot(2500, &w, SLOT(show()));
    w.show();

    return a.exec();
}
Jetzt meine Frage, wieso klappt es nicht das Bild aus der qrc Datei zu laden? Die Icons für die Windows nimmt er daraus...

Aufbau der QRC:

Code: Alles auswählen

<!DOCTYPE RCC>
<RCC version=" 1.0 ">
    <qresource prefix="/">
        <file>images/favicon.ico</file>
        <file>images/logo.png</file>
		<file>images/IQSoft.png</file>
    </qresource>
</RCC>
QRC habe ich auch gelinkt...
Es kommt keine Fehlermeldung...

Re: Startwindow mit Logo

Verfasst: 23. November 2011 18:16
von ScyllaIllciz
Kann warscheinlich nicht helfen aber bei mir tut das ;-). Warscheinlich stimmt der Pfad nicht ganz.