如何在Qt中移动一组按钮?

时间:2014-12-11 21:28:23

标签: qt pyqt pyqt4 qt4.8

目前我在QVBoxLayout中有一组按钮位于QHBoxLayout内。

有没有办法根据鼠标的位置移动它们?

我目前的代码是这样的:

    self.button1 = QPushButton()
    self.button1.setText("button A")

    self.button2 = QPushButton()
    self.button2.setText("button B")

    vbox = QVBoxLayout(self.canvas)
    vbox.addStretch(1)
    vbox.addWidget(self.button1)
    vbox.addWidget(self.button2)

    hbox = QHBoxLayout(self.window)
    hbox.addStretch(1)
    hbox.addLayout(vbox)"

1 个答案:

答案 0 :(得分:0)

移动一些按钮小部件的原型将是:

vbox.removeWidget(self.button) // that only needs the reference to your button item
vbox.insertWidget(newPos, self.button) // mind the difference in target position when you remove one item

这不包括事件处理。使用两个按钮,您可以为每个按钮执行两次,也可以完全相同,请注意目标位置。

或者您可以以非常类似的方式在按钮组的另一个布局中移动整个布局。这是移动布局项目。只要您不暗示这些按钮不能单独移动,则示例适用于单个按钮。哦,有一些Qt C ++ discussion