PyQt4 QTableWidget 的 cellPressed 和 cellClicked 信号有什么区别
PyQt4中的QTableWidget有两个信号,分别是cellPressed和cellClicked。从名字上看,以及我做的一些小实验,它们似乎做的事情完全一样。那么,这两个信号之间有什么区别呢?
1 个回答
3
这些关于单元格的信号并没有详细的说明(我找不到),但我可以通过按钮上的 pressed
、clicked
和 released
信号来做个类比:
pressed 意思是鼠标的左键在这个小部件里被按下了,
released 意思是鼠标的左键在这个小部件里被松开了,
clicked 意思是鼠标的左键先被按下,然后又在这个小部件里被松开了。
所以,如果你在小部件里按下按钮,保持按住,然后把鼠标移动到别的地方,最后再松开鼠标的按钮,那么你只会看到 pressed
信号,而不会看到其他两个信号;而任何 clicked
信号总是意味着 pressed
和 released
信号都已经被触发过。
我认为正常的用户界面行为应该只对 clicked
信号做出反应,除非你想在按钮被按下且没有松开一段时间时做一些特别的事情(也就是,长时间按住不放)。