Qt에서 열린 QMainWindows 수를 검색합니다.
-
21-12-2019 - |
문제
QMainWindow를 열기 위해 여러 번 전화하고 있습니다.내 응용 프로그램에서 열린 창 수를 어떻게 알 수 있습니까?
void mywindow :: keyPressEvent (QKeyEvent *event)
{
switch(event->key())
{
case Qt::Key_Enter:
popUpWindow();
}
}
void mywindow :: popUpWindow()
{
win = new QMainWindow();
win->show();
}
나는 이 창문을 닫고 있어요 deleteWindow()
.그런데 이미 열려 있는 창의 개수를 알고 싶습니다.
해결책
당신이 사용할 수있는 정적 방법 QWidgetList QApplication::topLevelWidgets () [static]
열린 모든 창을 얻으려면.
다른 팁
추가한 mywindow
클래스 내부 :
unsigned count;
.
0
로 초기화 된 멤버 객체 (또는 처음에 표시하는 창의 수에 따라 1
).그런 다음 popUpWindow
멤버 함수에서 count++;
및 deleteWindow
멤버 함수에서 count--;
를 수행합니다.
여기에 수업의 해골이 있습니다 :
class mywindow {
private:
unsigned windowCount;
public:
mywindow() : windowCount(0) {}
void popUpWindow() {
// ...
windowCount++;
}
void deleteWindow() {
// ...
windowCount--;
}
};
. 제휴하지 않습니다 StackOverflow