不二如是 发表于 2016-10-18 16:41:16

92-键盘事件(QKeyEvent)-【装x版】

本帖最后由 不二如是 于 2016-10-18 17:10 编辑

在91,可以同时按下Alt + m实现窗口最大化。

那么可不可以按下两个不同的普通按键来实现一定操作?

例如按下向上方向键->按钮向上移动

按下左方向键->左移

按下下方向键->还原

按下上加做->左上

必须可以好不好。

好了,上程序~~~~~~~~~~~~~~~~~~~~~~~~~~~








**** Hidden Message *****

这里我先在键盘按下事件处理函数中对Up和Left是否按下,进行bool标记。

并且当他们自动重复时不做操作,就是反复按也只响应一次。

然后在按键释放函数中分别对Up和Left进行定义。

大致流程如下:

按下Left键->标记key_Left为true,此时若按下Up键->key_Up也为true->斜移->放开Up键->key_Up为false且move标记为真

此时在释放Left键->key_Left标记为flase,因为已经移动move为真,不进行任何操作->move被标记为false

完成了整个斜移操作.

注意!!!

这个装x程序只是提供一种思维!

并不是实现这种操作的最好办法,目前按键的自动重复功能被忽略了~~~{:10_324:}


ccitllz 发表于 2023-7-23 10:04:16

1

FC10086 发表于 2023-10-25 11:13:22

页: [1]
查看完整版本: 92-键盘事件(QKeyEvent)-【装x版】