gpt4 book ai didi

c++ - 我是否正确重构了 Qt Wiki 中的这个示例?

转载 作者:行者123 更新时间:2023-11-28 01:20:47 25 4
gpt4 key购买 nike

<分区>

我从 Qt Wiki 中找到了这个关于如何捕捉 Enter 键按下的示例:

bool KeyEnterReceiver::eventFilter(QObject* obj, QEvent* event)
{
if (event->type() == QEvent::KeyPress) {
QKeyEvent* key = static_cast<QKeyEvent*>(event);
if ((key->key() == Qt::Key_Enter) || (key->key() == Qt::Key_Return)) {
// Enter or return was pressed
} else {
return QObject::eventFilter(obj, event);
}
return true;
} else {
return QObject::eventFilter(obj, event);
}
return false;
}

它看起来很麻烦,我注意到我可以将它重构为更简单:

bool KeyEnterReceiver::eventFilter(QObject* obj, QEvent* event)
{
if (event->type() == QEvent::KeyPress) {
auto* key = dynamic_cast<QKeyEvent*>(event); // clang-tidy suggested to change static_cast to dynamic_cast
if ((key->key() == Qt::Key_Enter) || (key->key() == Qt::Key_Return)) {
// Enter or return was pressed
return true;
}
}
return QObject::eventFilter(obj, event);
}

我是否遗漏了什么或者我的重构是否正确且功能相同?

这可以重构为更简单吗?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com