我想qlistbox这个类按ESC键就等于退出的效果
做法如下:
在qlistbox.h 里面增加 escPressed() 信号
然后在qlistbox.cpp文件的 keyPressedEvent事件里面加上
case Key_Escape:
emit escPressed();
编译可以通过,
但是运行的事件却提示没有escPressed这个信号;
于是我用继承qlistbox这个类,自己写keyPressEvent就可以达到效果。
问题是如果我这样写,qlistbox的其他按键就失效了。
为什么呢? 因为keyPressEvent这个函数里面我只是定义了ESC键,如果我把qlistbox的
keyPressEvent照搬过来就会提示很多私有成员不能调用。
所以我有个想法和问题如下:
我想修改 qt部分类 keyPressEvent事件,在qt/src/widgets/目录 里面的部分文件。
是否要将QTE重新编译一次? 有没有简单快捷一点的方法呢?