c++ - 如何覆盖 QTextEdit 的 keyPressEvent?

标签 c++ qt qt-designer qtextedit

我覆盖了小部件 QTextEdit 的 keyPressEven():

void myTextEdit::keyPressEvent(QKeyEvent *e)
{
    if(e->key()==Qt::Key_0)
    {
        qDebug() << "Ok";
    }
}

按钮 0 工作 - 显示“确定”,但不写入 QTextEdit 的字段。为什么?提前致谢。

最佳答案

如果你想保持默认行为,你需要调用基类实现:

void myTextEdit::keyPressEvent(QKeyEvent *e)
{
    if(e->key()==Qt::Key_0)
    {
        qDebug() << "Ok";
    }
    QTextEdit::keyPressEvent(e);
}

请参阅 keyPressEvent 的文档.

关于c++ - 如何覆盖 QTextEdit 的 keyPressEvent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20849376/

相关文章:

c++ - 如何测试输入数据总是整数类型?

c++ - Media Foundation 使用 PROPVARIANT 结构设置视频捕获帧率

c++ - QTabWidget - 如何分别编辑每个小部件?

QTimer::singleShot等效于QML

c++ - 我的 QT 设计器插件找不到外部组件

c++ - 为什么调用 cout.operator<<(const char*) 打印地址而不是字符串?

C++ 异构类型数组

c++ - 如何将数据(Qt::UserRole)设置到 QSqlQueryModel 列中?

c++ - C++ 中的动态 QT4 菜单

python - 从 GUI 类外部访问 GUI 元素