找回密码
 立即注册
收起左侧

怎么模拟一台装置的按键

8
回复
8575
查看
[复制链接]
累计签到:110 天
连续签到:1 天
来源: 2014-12-4 14:21:16 显示全部楼层 |阅读模式
1Qter豆
这是我目前做出来的,在显示窗中就是几个选项,可以再进入的那种,我做成了六个pushbutton,来模仿各个选项。现在遇到的问题是如何使第一个pushbutton默认开始就被选中,显示的背景当然不同于其他,接着利用下边的上下左右键如何控制六个pushbutton按自己的操作确定哪个被选中,并能通过点击ENTER键进入该选项,通过Esc退出当前界面,返回上一界面。我想着是将下边的按钮设置成Qt::key_up之类的功能,但不知具体怎么弄,换页就用stackedwidget。基本就是模拟这个装置的运行,求大神指导。
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

这个样子的 如果我来做的话思路: 1、将操作板的按钮用一个List容器封装,关联到一个移动焦点的槽(多信号连接一个槽) 2、移动6个按键焦点,当然 确认退出复位实现也不难 for(int i=0; iclearFocus(); btn_list->setStyleSheet("background-color:rgb(226, 226, 226)"); } btn_list->setFocus(); btn_list->setStyleSheet("background-color:rgb(245, 245, 245)"); 3、换页可以用stackedwidget ...
回复

使用道具 举报

累计签到:597 天
连续签到:1 天
2014-12-4 14:21:17 显示全部楼层
这个样子的 如果我来做的话思路:
1、将操作板的按钮用一个List容器封装,关联到一个移动焦点的槽(多信号连接一个槽)
2、移动6个按键焦点,当然 确认退出复位实现也不难
     for(int i=0; i<6; i++)
    {
        btn_list[i]->clearFocus();
        btn_list[i]->setStyleSheet("background-color:rgb(226, 226, 226)");
    }
    btn_list[Btn_num]->setFocus();
    btn_list[Btn_num]->setStyleSheet("background-color:rgb(245, 245, 245)");

3、换页可以用stackedwidget
回复

使用道具 举报

累计签到:110 天
连续签到:1 天
2014-12-8 16:10:52 显示全部楼层
list容器指的是什么?是不是Q3ComboBox?用它封装起来的目的是什么?
回复

使用道具 举报

累计签到:110 天
连续签到:1 天
2014-12-8 16:12:52 显示全部楼层
shasidaran 发表于 2014-12-8 11:05
这个样子的 如果我来做的话思路:
1、将操作板的按钮用一个List容器封装,关联到一个移动焦点的槽(多信号 ...

list容器指的是什么?是不是Q3ComboBox?用它封装起来的目的是什么?,,还有我是用STACKEDWIDGET做的显示界面,可我不知道怎么在按键的点击事件槽函数中怎么关联STACKEDWIDGET的换页操作,麻烦知道的话给解答下,非常感谢!!
回复

使用道具 举报

累计签到:597 天
连续签到:1 天
2014-12-8 16:45:33 显示全部楼层
QList是一个容器类,暂且简单理解成一个数组吧,更多相关介绍,戳下面:
http://www.qter.org/forum.php?mod=viewthread&tid=659

stackedWidget换页操作可以用ui->stackedWidget->setCurrentIndex(index);
index就是你要换到的页,0是第一页,具体stackedWidget是第几页,看这里:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

累计签到:597 天
连续签到:1 天
2014-12-8 16:47:46 显示全部楼层
songxinhai91 发表于 2014-12-8 16:10
list容器指的是什么?是不是Q3ComboBox?用它封装起来的目的是什么?

封装的目的是因为好管理节约代码
回复

使用道具 举报

累计签到:110 天
连续签到:1 天
2014-12-9 10:08:45 显示全部楼层
shasidaran 发表于 2014-12-8 16:47
封装的目的是因为好管理节约代码

大体意思了解了,只是移动焦点信号的槽函数怎么写呢?操作板的信号都集中发给一个槽?想起来有点难理解,能麻烦说的再详细点么?
回复

使用道具 举报

累计签到:110 天
连续签到:1 天
2014-12-9 10:10:19 显示全部楼层
shasidaran 发表于 2014-12-8 16:45
QList是一个容器类,暂且简单理解成一个数组吧,更多相关介绍,戳下面:
http://www.qter.org/forum.php?mo ...

能帮我写出点类似的按键代码吗?我学习下,自己看资料看明白了也有点不太会用。。。谢啦
回复

使用道具 举报

累计签到:110 天
连续签到:1 天
2014-12-9 10:24:36 显示全部楼层
shasidaran 发表于 2014-12-8 16:47
封装的目的是因为好管理节约代码

方便的话加我扣扣617322455.指导下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了