【问题标题】:Deleting a button if exists using python PyQt5使用python PyQt5删除按钮(如果存在)
【发布时间】:2020-02-17 07:24:15
【问题描述】:

我正在尝试删除我的窗口/UI 中的一个按钮。我正在使用 Python 和 PyQt5 来完成这项任务,如果存在,有人可以通知我删除按钮吗?或者有什么功能可以检查?这是我的示例代码:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import pyqtSlot


class App(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle("my window")
        self.setGeometry(100, 100, 320, 300)

        # creating a button
        button1 = QPushButton('Button-1', self)
        button1.move(100, 70)


       #I want a function to check if other button named "button2" exists,then delete it, like below
        if button2.exists:
           button2.delete()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    ex.show()
    sys.exit(app.exec_())

【问题讨论】:

    标签: python user-interface button pyqt5


    【解决方案1】:

    通常,您通过将小部件分配为类属性来保持对小部件的引用。然后您可以检查它们是否存在并删除它们:

    def initUI(self):
        self.setWindowTitle("my window")
        self.setGeometry(100, 100, 320, 300)
    
        self.button1 =  QPushButton('Button-1', self)
        self.button1.move(100, 70)
    
        self.button2 = QPushButton('Button-2', self)
        self.button2.move(100, 90)
    
        if hasattr(self, 'button2'):
            self.button2.deleteLater()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-03
      • 2019-12-21
      • 2020-10-29
      • 1970-01-01
      • 2018-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多