2009-10-05 33 views
24

Plataforma: QT, Windows XPCómo mostrar otra ventana de MainWindow en QT

Soy nuevo en Qt. Quiero mostrar otra ventana (qué hacer para abrirla como diálogo) desde mainwindow. Hice "add New Item ->Qt Designer Form Class", lo llamé MyWindow. Pero, ¿cómo mostrar esto MyWindow desde mainwindow?

Respuesta

50
  1. Implementar una ranura en su QMainWindow donde se abra la nueva ventana,
  2. Coloque un widget en su QMainWindow,
  3. conectar una señal de este widget a una ranura de la QMainWindow (por ejemplo: si el widget es un QPushButton conecta la señal click() a la ranura personalizada QMainWindow que ha creado).

ejemplo Código:

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(); 
    // ... 
} 

Este es un ejemplo de cómo mostrar una costumbre nueva ventana. Hay muchas formas de hacer esto.

Cuestiones relacionadas