【问题标题】:More information in signal/slot with QPushButton使用 QPushButton 的信号/插槽中的更多信息
【发布时间】:2012-08-07 18:59:19
【问题描述】:

当我实现单击按钮时执行的函数时,代码是这样的:

self.connect(btnBrowse, SIGNAL("clicked()"), self.browseFile)

我实现了函数browseFile

def browseFile(self):

但是当我在browseFile方法中时,我没有关于被点击按钮的信息,因为我只想为许多按钮实现一个函数browseFile。我怎样才能获得更多关于插槽的信息,例如让我的函数看起来像这样:

def browseFile(self, option):

谢谢

【问题讨论】:

    标签: python user-interface pyqt signals


    【解决方案1】:

    连接到 lambda(或使用 functools.partial)。 还要注意新样式语法的使用,它更具可读性和 Python 风格。

    self.btnBrowse.clicked.connect(lambda: self.browseFile(option))
    

    【讨论】:

    • 这是我问题的最佳答案!
    • 不知道你能做到这一点!
    【解决方案2】:

    Sender() 提供指向发送事件的按钮的指针,然后您可以读取按钮文本(或其他相关数据)以确定按下了哪个按钮

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多