• 3910阅读
  • 1回复

自定义窗口类的键盘事件 [复制链接]

上一主题 下一主题
离线chcqqq123
 
只看楼主 倒序阅读 楼主  发表于: 2009-01-12
— 本帖被 XChinux 执行加亮操作(2009-01-14) —
我想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重新编译一次? 有没有简单快捷一点的方法呢?
离线chcqqq123
只看该作者 1楼 发表于: 2009-01-12
晕 重新编译之后 竟然提示 libqte.so  undefined reference to ' QListBox:: escPressed


真晕了
快速回复
限100 字节
 
上一个 下一个