這是PyQt4中,Linux和Python 2.5的PyQt的:總是在最上層
我可以做PyQt的設置我的窗口「總在最前面」在其他應用程序?
例如,在GTK中我使用屬性:Modal。
現在,在PyQt中,我正在使用QWidget,但是,我找不到這樣做的方法。
任何想法??
這是PyQt4中,Linux和Python 2.5的PyQt的:總是在最上層
我可以做PyQt的設置我的窗口「總在最前面」在其他應用程序?
例如,在GTK中我使用屬性:Modal。
現在,在PyQt中,我正在使用QWidget,但是,我找不到這樣做的方法。
任何想法??
通過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_()
setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
setwindowaFlags
是可以從form
對象調用它,只是需要一個參數的方法是一個常數QtCore.Qt.WindowStaysOnTopHint
引用,使您的形式停留在頂端
也許你可以添加一行解釋?添加了 – 2013-05-09 10:15:27
解釋 – Abdo 2013-05-14 20:40:15
是不是'QtGui.QMainWindow .__ init __(self,None,QtCore.Qt.WindowStaysOnTopHint)'可以通過編寫:'super().__ init __(self,None,QtCore.Qt.WindowStaysOnTopHint)'來簡化。 – NuclearPeon 2013-08-18 17:21:12
有沒有辦法讓窗口在創建時彈出前端,但並不總是保持最前端? – mingxiao 2013-11-01 19:26:52
@NuclearPeon只有在使用單一繼承時纔是一樣的。 https://rhettinger.wordpress.com/2011/05/26/super-considered-super/ – 2016-03-19 02:03:50