Qt似乎行为奇怪:当鼠标双击或拖动小部件时,它将触发Ctrl-C键事件。这是我的代码:
class CWidget: public QWidget
{
Q_OBJECT
public:
CWidget()
{
};
virtual ~CWidget()
{
}
protected:
void keyPressEvent ( QKeyEvent * event )
{
if (event->key() == Qt::Key_C && (event->modifiers() & Qt::ControlModifier))
{
qDebug() << "strange copy: Ctrl-C";
}
QWidget::keyPressEvent(event);
}
}; //
显示小部件后,您可以执行鼠标双击并在其上拖动,并打印调试消息“strange copy:Ctrl-C”。我已经在互联网上搜索了两天这个,但一无所获。
我使用它错了还是Qt的错误?
代码在(vs2008 + Qt Addin + Qt 4.7.3)和(qcreator + Qt 4.7.3),xp sp2
下测试答案 0 :(得分:0)
你必须检查:
!event->isAutoRepeat();