Удалить кнопку из окна PyQt5

Мне нужно чтобы при нажатии кнопка удалялась и появлялась другая (в любой точке, главное чтобы получилось).


from PyQt5 import QtWidgets, QtCore


class Window(QtWidgets.QMainWindow):
    def __init__(self):
        super(Window, self).__init__()

        self.play_button = QtWidgets.QPushButton(self)
        self.play_button.setGeometry(200, 500, 100, 50)
        self.play_button.setObjectName('play_button')
        self.play_button.setText('PLAY_BUTTON')
        self.setGeometry(QtCore.QRect(100, 100, 600, 600))

        self.play()

    def play(self):

        self.show()


if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())

Ответы (1 шт):

Автор решения: S. Nick

void QWidget::move(int x, int y)

Это перегруженная функция.
Это соответствует перемещению move(QPoint(x, y)).

Примечание: функция установки для свойства pos.

from PyQt5 import QtWidgets, QtCore
import random                                                          # +++


class Window(QtWidgets.QMainWindow):
    def __init__(self):
        super(Window, self).__init__()
        
        self.centralwidget = QtWidgets.QWidget()
        self.centralwidget.setObjectName("centralwidget")
        self.setCentralWidget(self.centralwidget)

        self.play_button = QtWidgets.QPushButton(self.centralwidget)
        self.play_button.setGeometry(200, 500, 100, 50)
        self.play_button.setObjectName('play_button')
        self.play_button.setText('PLAY_BUTTON')
        self.play_button.clicked.connect(self.update_button)           # +++

    def update_button(self):                                           # +++
        x, y = [random.randint(0, 500) for _ in range(2)]              # +++
        self.play_button.move(x, y)                                    # +++


if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    window = Window()
    window.resize(600, 600)
    window.show()
    sys.exit(app.exec_())

введите сюда описание изображения

→ Ссылка