Utilizzando PyQt4, quando nascondo una finestra e la mostro in seguito, appare in un'altra posizione (almeno qui su Linux). Esempio codice:PyQt4: la finestra appare in un'altra posizione dopo hide() e show()
#!/usr/bin/python3
from PyQt4.QtGui import *
app = QApplication([])
widget = QWidget()
widget.setLayout(QVBoxLayout())
label = QLabel()
widget.layout().addWidget(label)
def hideShow():
widget.hide()
widget.show()
widget.layout().addWidget(QPushButton('Hide/Show', clicked = hideShow))
widget.show()
app.exec_()
La finestra scompare e viene visualizzata, ma un po 'in basso ea destra della posizione originale. Penso che sia spostato dalle dimensioni del frame del gestore finestre attorno al widget attuale.
Come posso posizionare la finestra nella posizione esatta in cui si trovava? E perché si muove del tutto? Non dovrebbe rimanere dov'è?
Bene, allora penso che non si possa risolvere questo problema, poiché l'impostazione della geometria prima dello show iniziale() sarà di aiuto solo quando nascondere e mostrare la finestra viene eseguita da quella posizione e la finestra non è stata spostata. –
@TobiasLeupold. Per me, spostare la finestra tra i clic del pulsante "Nascondi/Mostra" non fa alcuna differenza (cioè la posizione rimane costante). Se commento la riga 'setGeometry', la finestra salta su e verso sinistra sul * primo * clic, ma rimane costante. Questo sta usando il gestore di finestre di OpenBox. Quale gestore di finestre stai usando? – ekhumoro
Io uso KDE 4.8.5 su Gentoo Linux. –