PyQt4 QTableWidget 的 cellPressed 和 cellClicked 信号有什么区别

1 投票
1 回答
1784 浏览
提问于 2025-04-15 21:29

PyQt4中的QTableWidget有两个信号,分别是cellPressed和cellClicked。从名字上看,以及我做的一些小实验,它们似乎做的事情完全一样。那么,这两个信号之间有什么区别呢?

1 个回答

3

这些关于单元格的信号并没有详细的说明(我找不到),但我可以通过按钮上的 pressedclickedreleased 信号来做个类比:

pressed 意思是鼠标的左键在这个小部件里被按下了,

released 意思是鼠标的左键在这个小部件里被松开了,

clicked 意思是鼠标的左键先被按下,然后又在这个小部件里被松开了。

所以,如果你在小部件里按下按钮,保持按住,然后把鼠标移动到别的地方,最后再松开鼠标的按钮,那么你只会看到 pressed 信号,而不会看到其他两个信号;而任何 clicked 信号总是意味着 pressedreleased 信号都已经被触发过。

我认为正常的用户界面行为应该只对 clicked 信号做出反应,除非你想在按钮被按下且没有松开一段时间时做一些特别的事情(也就是,长时间按住不放)。

撰写回答