Разница между сигналами cellPressed и cellClicked в PyQt4 QTableWidget - PullRequest
1 голос
/ 12 апреля 2010

PyQt4 QTableWidget имеет сигналы как cellPressed, так и cellClicked. Судя по названию и небольшим экспериментам, которые я провел с ними, они, похоже, делают то же самое. Есть ли разница между ними?

1 Ответ

3 голосов
/ 12 апреля 2010

Эти сигналы на ячейках не документированы четко (что я могу найти), но я бы интерпретировал их по аналогии с сигналами pressed, clicked и released на кнопках:

нажато означает, что левая кнопка мыши нажата внутри виджета,

выпущено означает, что левая кнопка мыши отпущена (отпущена) внутри виджета,

нажатие означает, что левая кнопка мыши была нажата, затем отпущена (отпущена), оба внутри виджета

Таким образом, если вы нажмете кнопку внутри виджета, удержите ее, переместите мышь в другое место и только затем отпустите кнопку мыши, тогда вы увидите только сигнал pressed, но ни один из двух других; в то время как любой сигнал clicked всегда подразумевает, что и pressed, и released также были сигнализированы.

Я считаю, что нормальное поведение пользовательского интерфейса должно отвечать только на clicked, если только вы не хотите сделать что-то особенное, если кнопка нажата и не отпущена в течение определенного времени (т.е. удерживается длительное время).

...