2014-01-08 8 views
4

Я создал два главных окна. Как узнать, открыто ли 2-ое окно в QT?Как узнать окно открыто в qt

QMainWindow *window1 = new QMainWindow(); 

QMainWindow *window2 = new QMainWindow(); 

Теперь я должен найти, что window2 уже открыт в моем экземпляре. Как узнать его

+1

By "Открыть" вы имеете в виду видимый/показ на экране? –

+0

Использование isVisible() – Rupesh

ответ

3

Вы можете использовать visible property:

if (window2->isVisible()) { 
    ... 
} 
+0

Не работает. Поскольку я хочу закрыть это окно. Я использую этот код: if (window2-> isVisible()) window2-> close(); – user3172864

+0

Вы должны быть более конкретным - ** что ** не работает? Показывается окно? –

+0

Да окно все еще отображается – user3172864

0

использование QWidget#visible: http://doc.qt.io/qt-4.8/qwidget.html#properties

if(window1-> isVisible()) { 
    //... 
} 

Отредактировано на комментарий ниже.

+0

класс QMainWindow 'не имеет имени с именем' visible ' Показывает эти ошибки – user3172864

+0

Вы должны использовать метод 'isVisible()' для доступа к свойству –

+0

. Он не работает. Поскольку я хочу закрыть это окно. Я использую этот код, но окно не закрывается: if (window2-> isVisible()) window2-> close() – user3172864

Смежные вопросы