2014-01-10 2 views
2

QMainWindow를 열려면 여러 번 호출해야합니다. 내 응용 프로그램에서 열 수있는 창 수를 얻으려면 어떻게합니까?Qt에서 열려있는 QMainWindows 수를 가져옵니다.

void mywindow :: keyPressEvent (QKeyEvent *event) 
{ 

    switch(event->key()) 
    { 
     case Qt::Key_Enter: 
      popUpWindow(); 
    } 
} 

void mywindow :: popUpWindow() 
{ 

    win = new QMainWindow(); 
    win->show(); 
} 

이 창을 닫는 시간은 deleteWindow()입니다. 그러나 이미 열려있는 창의 수를 알고 싶습니다. mywindow 클래스 내부

+1

직접 카운터 변수를 업데이트 할 수 없습니까? 정말 사소한 일입니다. – Shoe

+0

감사합니다. 나중에 카운터 변수를 사용할 수 있습니다. – Rupesh

답변

4

:

여기에 클래스의 골격입니다.

3

당신은 추가

unsigned count; 

(당신이 처음에 보여 얼마나 많은 창에 따라 또는 1) 0에 초기화 된 구성원 개체로. 그런 다음 popUpWindow 멤버 함수에서 count++;을 수행하고 deleteWindow 멤버 함수에서 count--;을 수행합니다. 당신은 static methodQWidgetList QApplication::topLevelWidgets() [static]이 열려있는 모든 창을 얻을하는 데 사용할 수있는

class mywindow { 
private: 
    unsigned windowCount; 
public: 
    mywindow() : windowCount(0) {} 

    void popUpWindow() { 
     // ... 
     windowCount++; 
    } 

    void deleteWindow() { 
     // ... 
     windowCount--; 
    } 
}; 
관련 문제