【问题标题】:Resolving conflicts with PyQt new-style signals-slots解决与 PyQt 新型信号槽的冲突
【发布时间】:2012-03-05 08:13:36
【问题描述】:

QComboBox 有两个信号,都称为currentIndexChanged;一个传递所选项目的索引,另一个传递所选项目的文本。当我将此信号连接到我的插槽时,使用self.myComboBox.currentIndexChanged.connect(self.mySlot) 之类的东西,它会给我一个索引。有没有办法可以使用新式信号来指示我想要返回的文本?

【问题讨论】:

    标签: qt pyqt signals-slots


    【解决方案1】:

    参见文档connecting signals portion 中的第二个示例。

    在你的情况下是:

    self.myComboBox.currentIndexChanged[QtCore.QString].connect(self.mySlot)
    

    或者,如果您正在使用 v2 API for QString

    self.myComboBox.currentIndexChanged[str].connect(self.mySlot)
    

    【讨论】:

      【解决方案2】:

      如果要返回非默认值,则必须在括号内指定返回值

      self.myComboBox.currentIndexChanged[str].connect(self.mySlot)
      
      def mySlot(self, item):
          self.currentItem = item
      

      见:http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/new_style_signals_slots.html

      【讨论】:

        猜你喜欢
        • 2012-02-11
        • 2011-08-08
        • 2012-07-13
        • 1970-01-01
        • 2013-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多