在我的 Qt 应用程序中,我正在使用QCalendarWidget
并且我希望在鼠标进入日历的新单元格时得到通知。我知道QCalendarWidget
正在使用从QAbstractItemViewQTableView
继承的内部,这有一个信号:entered
当鼠标光标进入 index 指定的项目时发出此信号。需要启用鼠标跟踪才能使用此功能。
我尝试使用以下代码接收信号:
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class MyCalendar:
def __init__(self):
app = QApplication(sys.argv)
window = QMainWindow()
cal = QCalendarWidget(window)
window.resize(320, 240)
cal.resize(320, 240)
table = cal.findChild(QTableView)
table.setMouseTracking(True)
table.entered.connect(self.onCellEntered)
window.show()
sys.exit(app.exec_())
def onCellEntered(self, index):
print("CellEntered")
if __name__ == "__main__":
window = MyCalendar()
但是我的回调函数永远不会被调用。你有什么想法为什么?