Ich habe ein einfaches Fenster, die einen Sound reproduzieren sollten, und wenn ich die QPushButton erstellen, zeigt sie in der linken oberen Ecke wie es sollte, aber wenn ich die move() über irgendeinen von ihnen, sie erscheinen einfach nicht im Fenster.QPushButon nicht zeigen, wenn Bewegung() -Methode PyQt5
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setup()
def setup(self):
self.musica = QSound('sounds/gorillaz.mp3')
self.centralwidget = QWidget(self)
self.boton = QPushButton(self.centralwidget)
self.boton.setText('Reproducir')
# self.boton.move(300, 100)
self.boton2 = QPushButton(self.centralwidget)
self.boton2.clicked.connect(self.musica.play)
self.boton2.setText('DETENER')
self.boton2.move(400, 100)
self.boton2.clicked.connect(self.musica.stop)
self.setWindowTitle('PrograPoP')
self.resize(750,600)
Warum passiert das? Vielleicht gibt es eine andere Methode, die ich verwenden sollte?
Danke, das ist großartig, aber wenn ich zu einer bestimmten Pixelposition bewegen muss? Und kann ich mehr als ein Layout in einem Widget haben? Denn soweit ich weiß, ist die von Ihnen angewendete Methode horizontal. – gramsch
Die Position (und Größe) Ihres Widgets hängt normalerweise von der Größe des Fensters ab. Ohne die Verwendung von Layouts müssen Sie dies bei jeder Änderung des Fensters neu berechnen. Das ist die Funktionalität, die Layouts Ihnen bieten und deshalb verwenden Sie sie (fast) immer. Sie können verschachtelte Layouts mit der Methode 'addLayout' verwenden. Ich habe mein Beispiel aktualisiert. Andere Optionen sind die Verwendung eines 'QGridLayout' – titusjan