Qt似乎行爲奇怪:當鼠標雙擊或拖動小部件時,它將觸發Ctrl-C鍵事件。這裏是我的代碼:顯示在小部件奇怪的是,雙擊/鼠標拖動將觸發關鍵事件「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);
}
}; //
後,您可以進行鼠標雙擊和拖拽圍繞它,並且調試信息「怪副本:按Ctrl-C」被打印出來。我一直在網上搜索了兩天,結果什麼都沒發現。
我使用錯了還是Qt的錯誤?
的代碼下(VS2008 + Qt的外接+的Qt 4.7.3)和(qcreator +的Qt 4.7.3),Windows XP SP2測試