2017-07-31 4 views
0

J'essaie de supprimer ce boutonComment supprimer un bouton en utilisant PYQT4?

btn = QtGui.QPushButton("Log in", self) 
btn.clicked.connect(self.remove) 

Lorsque le bouton est cliqué, il devrait disparaître, mais cela ne fonctionne pas

btn.deleteQPushButton() 

Ou s'il y a un moyen de supprimer entièrement chaque bouton la fenêtre?

Répondre

1

Une solution élégante consiste à utiliser deleteLater():

btn = QtGui.QPushButton("Log in", self) 
btn.clicked.connect(btn.deleteLater) 
+0

Parfait! Fonctionne facilement - Merci! –

-1

Oui, utiliser deleteLater

import sys 
from PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout, QPushButton 

if __name__ == '__main__': 

    app = QApplication(sys.argv) 

    wMain = QWidget() 
    wMain.resize(250, 150) 
    wMain.setWindowTitle('Main') 
    wMain.show() 

    centralLayout = QHBoxLayout(wMain) 
    wMain.setLayout(centralLayout) 

    button = QPushButton('Delete me',wMain) 
    button.clicked.connect(button.deleteLater) 
    centralLayout.addWidget(button) 

    sys.exit(app.exec_()) 
+0

Quelle différence votre réponse a-t-elle avec la mienne? – eyllanesc

+0

Je recommande de lire ce qui suit avant de répondre: https://stackoverflow.com/help/how-to-answer – eyllanesc