Pergunta

eu preciso fazer o meu nível superior janela quando eu preciso. Código de janela criar:

class Application(QtGui.QMainWindow):
    def __init__(self, parent=None):
        QtGui.QMainWindow.__init__(self, None, Qt.Tool | Qt.FramelessWindowHint)
        self.setFocusPolicy(Qt.StrongFocus)
        self.setAttribute(Qt.WA_QuitOnClose, True)

E quando eu preciso eu fazer:

self.setWindowFlags(Qt.WindowStaysOnTopHint)

Mas depois de executar esta parte do código meus oculta a janela ... eu não sei, onde está. Mas meu programa não fecha! Socorro! Como posso fazer minha janela superior mais em momento necessidade?

Foi útil?

Solução

Chamando .mostrar () ou .raise () em sua janela deve torná-lo foco superior.

do doc para setWindowFlags () :

Nota: Esta função chama setParent () quando mudar as bandeiras para uma janela, fazendo com que o widget para ser escondido. Vocês deve chamar show () para fazer o widget visível novamente ..

Eu só queria acrescentar para qualquer pessoa que encontra esta questão que o doc Qt para C ++ é um recurso muito bom, mesmo quando usando PyQt, apenas certifique-se apontar para a versão do doc do Qt C ++ que se aplica a sua versão do PyQt (A última PyQt é compilado contra 4,4 se é isso que você está usando).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top