sender()函数
作用
- 在我们的例子中,我们有两个按钮。在buttonClikced()方法中,我们调用sender()方法来判断哪一个按钮是我们按下的。
- 调用sender()方法可以判断发送信号的信号源是哪一个。
- 然后在应用的状态栏上显示被按下的按钮的标签内容。
例子
def btn_slot(self):
'''
上面两个按键的槽函数
'''
btn = self.sender()
if btn == self.root_btn:
directory = QFileDialog.getExistingDirectory(None,"选取文件夹","C:/")
if directory:
self.root_text.setText(directory)
self.root_path = directory
self.log.append('选择文件成功!')
elif btn == self.copy_btn:
directory = QFileDialog.getExistingDirectory(None,"选取拷贝位置","C:/")
if directory:
self.copy_text.setText(directory)
self.copy_path = directory
self.log.append('选取拷贝位置成功!')
总结
在pyqt中,若需要使用选择两个相反左右的按钮时,可以用到此函数,然后作条件判断。