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中,若需要使用選擇兩個相反左右的按鈕時,可以用到此函數,然后作條件判斷。