PyQt - сделать верхний уровень окна - PullRequest
4 голосов
/ 26 апреля 2009

мне нужно сделать мой уровень окна верхним, когда мне нужно. Код создания окна:

class Application(QtGui.QMainWindow):
    def __init__(self, parent=None):
        QtGui.QMainWindow.__init__(self, None, Qt.Tool | Qt.FramelessWindowHint)
        self.setFocusPolicy(Qt.StrongFocus)
        self.setAttribute(Qt.WA_QuitOnClose, True)

И когда мне нужно, я делаю:

self.setWindowFlags(Qt.WindowStaysOnTopHint)

Но после выполнения этой части кода мое окно скрывается ... Я не знаю, где оно. Но моя программа не закрывается! Помогите! Как я могу сделать мой верх окна наиболее нужным моментом?

1 Ответ

7 голосов
/ 26 апреля 2009

Вызов .show () или .raise () для вашего окна должен сделать его верхним фокусом.

и из документа для setWindowFlags () :

Примечание: эта функция вызывает setParent () при изменении флагов для окна, в результате чего виджет будет скрыт. Вы должен вызвать show (), чтобы сделать виджет снова видно ..

Я просто хотел добавить для всех, кто считает этот вопрос, что документ Qt для C ++ является очень хорошим ресурсом даже при использовании PyQt, просто убедитесь, что вы указываете на версию документа Qt C ++, которая применима к вашей версии PyQt (последний PyQt скомпилирован с 4.4, если вы его используете).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...