2009-12-17 5 views
16
위에

PyQt는 : 항상이 PyQt4, 리눅스와 파이썬 2.5에

내가 PyQt는 다른 응용 프로그램을 통해 "항상 상단에"내 창을 설정 할 수 있습니까?

예를 들어, GTK에서는 Modal 속성을 사용합니다.

이제 PyQt에서 QWidget을 사용하고 있지만, 그렇게 할 수있는 방법을 찾을 수 없습니다.

어떤 아이디어 ??

답변

26

QMainWindow를 WindowStaysOnTopHintwindow 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

에 남아 있도록 참조 일정한 QtCore.Qt.WindowStaysOnTopHint입니다 QtGui.QMainWindow .__ init __ (self, None, QtCore.Qt.WindowStaysOnTopHint)''super() .__ init __ (self, None, QtCore.Qt.WindowStaysOnTopHint)'를 작성하여 단순화하지 않겠습니까? – NuclearPeon

+0

창이 생성 될 때 창을 앞쪽으로 튀게 만들 수있는 방법이 있습니까? 항상 맨 위에 있지는 않습니까? – mingxiao

+0

@ NuclearPeon 단일 상속을 사용하는 경우에만 동일합니다. https://rhettinger.wordpress.com/2011/05/26/super-considered-super/ –

8
setWindowFlags(QtCore.Qt.WindowStaysOnTopHint) 

setwindowaFlagsform 객체에서 호출하고 하나 개의 매개 변수를 사용 할 수있는 방법은 양식이 최고

+0

어쩌면 한 줄의 설명을 추가 할 수 있습니까? –

+0

설명 추가됨 – Abdo