PyQt – как проверить, виден ли QDialog?

У меня проблема. У меня есть этот код:

balls = [Ball() for i in range(1, 10)]

Итак, когда я говорю Ball(), это нарисует мяч в QDialog. И затем, когда это сделано, я перемещаю шары вокруг QDialog в бесконечном цикле. Я хочу сказать что-то вроде пока QDialog.isVisible() перемещаю их.

У меня нет ни родительского диалога, ни формы, ни дочернего диалога, ни формы. Это все только об этом QDialog. Я знаю, что это глупо делать с QDialog, но мне нельзя использовать ничего, кроме QDialog.


person golobitch    schedule 12.12.2012    source источник
comment
Это вопрос только о проверке видимости диалогового окна или он включает в себя часть о перемещении объектов?   -  person jdi    schedule 13.12.2012
comment
вы сами ответили на свой вопрос while MyDialog.isVisible(): pass   -  person    schedule 13.12.2012


Ответы (1)


Вы можете использовать isVisible из QWidget, потому что QDialog в основном наследует QWidget. Таким образом, вы должны иметь возможность проверить видимость.

myDialog = QtGui.QDialog()
isVis = myDialog.isVisible()

Дополнительные сведения см. на http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qwidget.html#isVisible

person Achayan    schedule 12.12.2012