Подтвердить что ты не робот

PyQt: Всегда сверху

Это на PyQt4, Linux и Python 2.5

Можно ли заставить PyQt установить мое окно "всегда сверху" поверх других приложений?

Например, в GTK я использую свойство: Modal.

Теперь, в PyQt, я использую QWidget, но я не могу найти способ сделать это.

Любые идеи?

4b9b3361

Ответ 1

Передайте QMainWindow флажок WindowStaysOnTopHint (или используйте setWindowFlags).

Как и в названии, это подсказка для диспетчера окон (не простая гарантия).

Самый простой возможный пример:

import sys
from PyQt4 import QtGui, QtCore

class mymainwindow(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self, None, QtCore.Qt.WindowStaysOnTopHint)

app = QtGui.QApplication(sys.argv)
mywindow = mymainwindow()
mywindow.show()
app.exec_()

Ответ 2

setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)

setwindowaFlags - это метод, который может вызывать его из объекта form и просто взять один параметр - это константа QtCore.Qt.WindowStaysOnTopHint, которая ссылается на то, что ваша форма остается в верхней части