【问题标题】:How to connect several spinboxes with only one connect-command?如何仅使用一个连接命令连接多个旋转框?
【发布时间】:2014-02-14 02:54:18
【问题描述】:

我有几个 QDoubleSpinBoxes,我想将它们连接到一个插槽。可以为多个对象创建一个连接命令吗?例如,我想连接:

doubleSpinBox_1
doubleSpinBox_2

到我的函数“bla”。有没有类似的命令:

self."doubleSpinBox_1 **AND** _2".valueChanged.connect(self.bla)

?

【问题讨论】:

    标签: pyqt signals-slots


    【解决方案1】:

    或者,您可以使用getattr:

    for id in range(1,3):
        spinbox = getattr(self, "doubleSpinBox_{}".format(id))
        spinbox.valueChanged.connect(self.mySlot)
    

    【讨论】:

      【解决方案2】:

      试试这个:

      for spin_id in range(1,3):
        spinboxes = self.findChildren(QtGui.QDoubleSpinBox, "doubleSpinBox_%d"%spin_id)
        if spinboxes:
          spinboxes[0].valueChanged.connect(self.bla)
      

      但是,如果您要连接许多旋转框,则此代码很有用;)

      【讨论】:

        猜你喜欢
        • 2016-01-05
        • 2021-04-15
        • 1970-01-01
        • 1970-01-01
        • 2019-05-12
        • 2015-06-17
        • 1970-01-01
        • 1970-01-01
        • 2018-08-23
        相关资源
        最近更新 更多