# 鼠標左鍵點擊事件
self.ui.tableView.clicked.connect(self.table_left_click)
# 點擊處理事件
def table_left_click(self, item):
# item 是你點擊的那個單元格對象
sf = "You clicked on {0}x{1}".format(item.column(), item.row())
print(sf)
知識點:
tableView.clicked.connect(self.table_left_click)
這種將鼠標左鍵單擊信號和處理槽函數的寫法,是新樣式寫法(舊樣式寫法該怎麼寫呢?)。tableView 具有一個稱爲"左鍵單擊"的預定義信號,每次在表格中按下鼠標左鍵都會觸發該信號。我們將此信號連接到 self.table_left_click 函數。調用槽函數時會傳遞 item 對象給槽函數,item 對象即我們點擊的單元格。
控件除了預定義的 clicked 信號,還有什麼信號呢?QTableView 繼承自 QAbstractItemView,那麼預定義信號的有這些:
官方文檔是一個很好的工具:https://doc.qt.io/qt-5/qabstractitemview.html