工具/版本
(1)安装环境:Windows7 64bit
(2)使用版本Python3.6
(3)PYQT5
(4)eric6
使用布局,请参考这篇文章
Pyqt 动态的添加控件
删除控件:
self.buttom.deleteLater()
关闭控件:
self.button.close()或者self.button.hide()
重新显示控件:
如果是删除,需要重新创建控件然后self.button.show()
如果是关闭,或者隐藏,self.show()
此处需注意:
如果多次创建相同名称的控件,操作创建的控件会显示异常,需要删除再创建
# coding=utf-8from PyQt5.QtWidgets import QWidget, QApplication, QPushButton
import sysclass Example(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.resize(550, 300)self.setWindowTitle('动态删除增加控件测试')self.CreatUI()def CreatUI(self):self.lb1 = QPushButton("按键1", self)self.lb1.setGeometry(100, 200, 100, 50)self.lb2 = QPushButton("按键1", self)self.lb2.setGeometry(280, 200, 100, 50)self.bt1 = QPushButton('删除', self)self.bt2 = QPushButton('新建', self)self.bt1.move(100, 20)self.bt2.move(280, 20)self.bt1.clicked.connect(self.deleteWidget)self.bt2.clicked.connect(self.addWidget)def deleteWidget(self):self.lb1.deleteLater()self.lb2.deleteLater()self.bt1.deleteLater()def addWidget(self):self.CreatUI()self.showWidget()def closeWidget(self):# self.lb1.close()# self.lb2.close()# self.bt1.close()# 或者使用hideself.lb1.hide()self.lb2.hide()self.bt1.hide()def showWidget(self):self.lb1.show()self.lb2.show()self.bt1.show()if __name__ == '__main__':app = QApplication(sys.argv)ex = Example()ex.show()sys.exit(app.exec_())