亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 QTableView 中發出單元格輸入和單元格離開的信號

如何在 QTableView 中發出單元格輸入和單元格離開的信號

慕絲7291255 2023-05-09 10:49:13
在從 QTableWidget 切換到 QTableView 以提高我的 GUI 速度的過程中,我開始意識到 QTableView 沒有可用的等效 cellEntered 信號。我怎樣才能做到這一點?在這個 GUI 中,我有一個帶有 QTableView 的彈出窗口,它在單獨的窗口中顯示放置在圖像上的標記的坐標。當光標移動到 QTableView 坐標表中相應的行或單元格上時,我需要突出顯示圖像窗口中的標記。所以我需要能夠發出信號,而不僅僅是突出顯示坐標表中的行。
查看完整描述

2 回答

?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

信號的等價物cellEnteredentered信號:

from PyQt5 import QtGui, QtWidgets



def main():

? ? app = QtWidgets.QApplication([])


? ? model = QtGui.QStandardItemModel(5, 5)


? ? view = QtWidgets.QTableView()

? ? view.setModel(model)

? ? view.setMouseTracking(True)


? ? def on_entered(index):

? ? ? ? print(index.row(), index.column())


? ? view.entered.connect(on_entered)


? ? view.show()


? ? app.exec_()



if __name__ == "__main__":

? ? main()


查看完整回答
反對 回復 2023-05-09
?
浮云間

TA貢獻1829條經驗 獲得超4個贊

由于問題的第二部分沒有得到解答,我想解決“如何抓住單元格或物品離開”的問題。


因為沒有cellLeft或ItemLeft事件,所以必須使用周圍單元格的cellEntered事件。要知道單元格何時離開,我們存儲每個輸入的行和列,并決定何時發生離開事件。


class LeaveEvent(QtWidgets.QMainWindow):


    def __init__(self):

        self.table.cellEntered.connect(self.on_table_cell_entered)

        self.prev_idxs = -1, -1


    def on_table_cell_entered(self, row, column):

        if (row, column) != self.prev_idxs:

            print(f'previous cell left: {self.prev_idxs}')


        self.prev_idxs = row, column


查看完整回答
反對 回復 2023-05-09
  • 2 回答
  • 0 關注
  • 358 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號