C++ 如何调用QCOMBOX的linedit的KeyPressEvent(QKeyEvent*)?

C++ 如何调用QCOMBOX的linedit的KeyPressEvent(QKeyEvent*)?,c++,qt,C++,Qt,我有一个QComboBox,它是可编辑的,我实现了keyPressEvent(QKeyEvent*)方法,但它似乎没有触发这个方法 我能想到发生这种情况的唯一原因是,无论发生什么编辑,实际上都发生在lineEdit对象中,我们应该实现lineEdit的keyPressEvent(QKeyEvent*)。如何实现这一点?您有两个选择: 在lineEdit小部件上安装事件过滤器 使用setLineEdit将现有小部件替换为您自己的子类,以重新实现事件处理程序 可能重复我已经实现了keyPressEv

我有一个
QComboBox
,它是可编辑的,我实现了
keyPressEvent(QKeyEvent*)
方法,但它似乎没有触发这个方法

我能想到发生这种情况的唯一原因是,无论发生什么编辑,实际上都发生在lineEdit对象中,我们应该实现lineEdit的keyPressEvent(QKeyEvent*)。如何实现这一点?

您有两个选择:

  • lineEdit
    小部件上安装事件过滤器

  • 使用
    setLineEdit
    将现有小部件替换为您自己的子类,以重新实现事件处理程序


  • 可能重复我已经实现了keyPressEvent方法,我没有任何问题,你可以展示你尝试了什么。你到底想做什么?为什么您认为需要重新实现
    按键事件
    ?我尝试安装事件过滤器,但它不起作用。这是不够的信息。请展示你的作品。编辑问题以提供一个自包含的演示问题的
    main.cpp
    。确保它是真正最小的。最多想想40-50行。文件以
    #include
    开头,以
    #include“main.moc”
    结尾。