PyQt:永远在最前面

时间:2009-12-17 22:22:15

标签: python pyqt

这是在PyQt4,Linux和Python 2.5

我可以让PyQt将窗口设置为“永远在其他应用程序上”吗?

例如,在GTK中我使用属性:Modal。

现在,在PyQt我正在使用QWidget,但是,我找不到办法做到这一点。

任何想法??

2 个答案:

答案 0 :(得分:27)

将QMainWindow传递给WindowStaysOnTopHint window flag(或使用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_()

答案 1 :(得分:9)

setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)

setwindowaFlags是一种可以从form对象调用它的方法,只需要一个参数就是一个常量QtCore.Qt.WindowStaysOnTopHint,它可以让你的表单保持在最顶层