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);
}
}; //
После того, как виджет показан, вы можете выполнить двойной щелчок мышью и перетаскивать его, и выводится отладочное сообщение "странная копия: Ctrl-C". Я два дня искал в интернете об этом и ничего не нашел.
Я использовал это неправильно или это ошибка Qt?
Код протестирован в (vs2008 + Qt Addin + Qt 4.7.3) и (qcreator + Qt 4.7.3), xp sp2