PyQt: Всегда сверху
Это на PyQt4, Linux и Python 2.5
Можно ли заставить PyQt установить мое окно "всегда сверху" поверх других приложений?
Например, в GTK я использую свойство: Modal.
Теперь, в PyQt, я использую QWidget, но я не могу найти способ сделать это.
Любые идеи?
Ответы
Ответ 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
, которая ссылается на то, что ваша форма остается в верхней части