【Python】PyQt右键菜单删除父控件

代码

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('右键菜单测试')
        self.resize(500, 500)

        self.btn = QPushButton(self)
        self.btn.setText('ABCD')
        
        self.btn.setContextMenuPolicy(Qt.CustomContextMenu)  # 打开右键菜单的策略
        self.btn.customContextMenuRequested.connect(self.showMenu)  # 绑定事件

        self.menu = QMenu(self.btn)
        self.menu.addAction('删除')
        self.menu.triggered.connect(self.processtrigger)

    def showMenu(self, pos):
        tx = int(self.pos().x() + pos.x())
        ty = int(self.pos().y() + pos.y())+30
        self.menu.move(tx,ty)
        self.menu.show()

    def processtrigger(self, q):
        print(self.menu.parent().text())
        self.menu.parent().deleteLater()

右键绑定了processtrigger方法,在该方法中实现了对其父控件的删除。

猜你喜欢

转载自blog.csdn.net/weixin_42147967/article/details/128487878