Startwindow mit Logo

Alles rund um die Programmierung mit Qt
Antworten
annica
Beiträge: 26
Registriert: 5. November 2010 10:01

Startwindow mit Logo

Beitrag 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?
archer
Beiträge: 306
Registriert: 2. Februar 2006 09:56

Re: Startwindow mit Logo

Beitrag von archer »

Schau dir mal QSplashScreen an.
annica
Beiträge: 26
Registriert: 5. November 2010 10:01

Re: Startwindow mit Logo

Beitrag 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...
ScyllaIllciz
Beiträge: 200
Registriert: 9. Juli 2010 19:31

Re: Startwindow mit Logo

Beitrag von ScyllaIllciz »

Kann warscheinlich nicht helfen aber bei mir tut das ;-). Warscheinlich stimmt der Pfad nicht ganz.
Antworten