• 5656阅读
  • 5回复

请教高手!比较复杂的按键问题 [复制链接]

上一主题 下一主题
离线piggyli
 
只看楼主 倒序阅读 楼主  发表于: 2010-01-27
我的主窗口要根据3个键盘按键(a,b,c)分别显示27个不同的子窗口(设为a,b,c,aa,ab,ac,ba,bb,bc。。。cca,ccb,ccc)。
例如:
按下键盘“b”键,显示b窗口

继续按下“a”键,显示ba窗口

继续按下“c”键,显示bac窗口

用什么样的方法写主窗口的keyPressEvent()函数才能实现上述功能,或者另有什么好的处理办法
请大家指教~~~
thanks!!!
离线yangfanxing
只看该作者 1楼 发表于: 2010-01-27
QString state;
响应按键时
state << a/b/c
根据state来show()同名窗口(ObjectName or WindowTitle or some index)

另设置一个QTimer或其它方法清空每次超过一定时间间隔的state(用来判断如摁下a & b是弹出a和b还是弹出ab)。

只能暂时想到这个了~~~大家顶贴集思~~~
PHPWind好恶心。。。不想看这种界面。。。
离线午小夜

只看该作者 2楼 发表于: 2010-01-27
鏈表.
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
离线downstairs

只看该作者 3楼 发表于: 2010-01-27
引用第1楼yangfanxing于2010-01-27 18:40发表的  :
QString state;
响应按键时
state << a/b/c
根据state来show()同名窗口(ObjectName or WindowTitle or some index)
.......

正解
喜爱编程的猫头鹰
离线piggyli
只看该作者 4楼 发表于: 2010-01-28
感谢yangfanxing同学
这就相当于是设全局变量吧,这个方法我想过,不知道有没有更好的方法,比如说有没有QT独有的方法
我上面举的例子只是个问题的简化,实际上我是要响应7个键盘按键,而我的子窗口也不是7^3个,有的可能出现四级子窗口BACB,有的只到两级子窗口AC就不再响应按键了
期待各位高手帮我想个好办法
3Ks
离线xinqingfly

只看该作者 5楼 发表于: 2010-01-28
要么你规定一个模式,就是当前是响应几位按键,要么你就规定个时间,按过某键过后超过一定时间还没按新键就当此次操作结束
菜鸟也是鸟
快速回复
限100 字节
 
上一个 下一个