2009-10-05 9 views
24

Piattaforma: QT, Windows XPCome mostrare un'altra finestra da mainwindow in QT

Sono nuovo di Qt. Voglio mostrare un'altra finestra (cosa fare per aprirlo come finestra di dialogo) da mainwindow. Ho fatto "add New Item ->Qt Designer Form Class", chiamato lo MyWindow. Ma come mostrare questo MyWindow da mainwindow?

risposta

50
  1. Implementare una fessura nella vostra QMainWindow dove potrete aprire la nuova finestra,
  2. Posizionare un widget sul vostro QMainWindow,
  3. collegare un segnale da questo widget per uno slot dal QMainWindow (ad esempio: se il widget è un QPushButton collega il segnale click() allo slot personalizzato QMainWindow che è stato creato).

esempio di codice:

MainWindow.h

// ... 
include "newwindow.h" 
// ... 
public slots: 
    void openNewWindow(); 
// ... 
private: 
    NewWindow *mMyNewWindow; 
// ... 
} 

mainwindow.cpp

// ... 
    MainWindow::MainWindow() 
    { 
     // ... 
     connect(mMyButton, SIGNAL(click()), this, SLOT(openNewWindow())); 
     // ... 
    } 
// ... 
void MainWindow::openNewWindow() 
{ 
    mMyNewWindow = new NewWindow(); // Be sure to destroy your window somewhere 
    mMyNewWindow->show(); 
    // ... 
} 

Questo è un esempio di come visualizzare una nuova finestra di personalizzato. Ci sono molti modi per farlo.