Qt笔记一
来源:互联网 发布:数控切割机用u盘编程 编辑:程序博客网 时间:2024/06/05 12:03
最近接触做了一下Linxu下的Qt开发,遇到一些问题,现在总结记录一下。
我们的设备只支持按键,为了好的用户体验,必须做到按键设置符合人的习惯,Qt很多操作习惯默认都支持鼠标。在使用QcheckBox时,想要上下左右键切换,在基本的处理按键事件,设定光标之外,重要的一点要将他放在QGroupBox中,不然Qt总是使用自己默认的一套光标移动规则。
代码简单如下:
//按键切换,需要放到QButtonGroup里 QButtonGroup *checkBoxGroup = new QButtonGroup; checkBoxGroup->setExclusive(false); checkBoxGroup->addButton(ui->checkBox_HzOverLimit); checkBoxGroup->addButton(ui->checkBox_HzUnderLimit); checkBoxGroup->addButton(ui->checkBox_VNegSeqImbOverLimit); checkBoxGroup->addButton(ui->checkBox_ANegSeqImbOverLimit); checkBoxGroup->addButton(ui->checkBox_VOffsetOverLimit); checkBoxGroup->addButton(ui->checkBox_VOffsetUnderLimit); checkBoxGroup->addButton(ui->checkBox_HarVConOverLimit); checkBoxGroup->addButton(ui->checkBox_HarAValOverLimit); checkBoxGroup->addButton(ui->checkBox_VZeroSeqImbOverLimit); checkBoxGroup->addButton(ui->checkBox_AZeroSeqImbOverLimit); checkBoxGroup->addButton(ui->checkBox_VTotalDisOverLimit);
void Relay::keyReleaseEvent(QKeyEvent *event){ if(event->key() == Qt::Key_Escape){ event->setAccepted(true); if(ui->tabWidget->hasFocus()){ emit closeWidget(); return; } else ui->tabWidget->setFocus(); }
}
代码就是写一下按键释放事件,无非是
<pre name="code" class="cpp">if(ui->xx_now->hasFocus()){ ui->xx_next->setFoucs(); return;}记得要return 不然按键事件会继续传递下去,Qt 也提供了event->setAccepted(true);保险起见,都用上。
在qml中可能会出现多余显示的问题,这个问题困扰了很长时间,以为是内存问题,原来只是多加了一个没用的button,后来没有清除掉。
0 0
- Qt学习笔记一
- Qt笔记一
- Qt笔记一
- Qt学习笔记(一)
- Qt学习笔记(一)
- 【QT】笔记(一)
- Qt学习笔记一
- qt学习笔记(一) qt入门
- 【Qt编程】Qt学习笔记<一>
- qt学习笔记(一) qt入门
- QT笔记:数据库总结(一)
- QT笔记:数据库总结(一)
- Qt学习笔记(一)
- QT学习笔记(一)
- QT笔记:数据库总结(一)
- QT笔记:数据库总结(一)
- Qt学习笔记(一)
- Qt学习笔记 线程(一)
- 单例设计模式
- 反射
- Spring中如何配置Hibernate事务
- 用Arduino对Apple手表进行远程红外控制
- 1/4波长天线详解
- Qt笔记一
- 课程笔记 03 :数据结构(清华) 向量
- [ASP.NET MVC 大牛之路]01 - C#高级知识点概要(1) - 委托和事件
- HDU3081Marriage Match II
- Java线程中sleep(),wait(),notifyAll()的区别
- 南阳 oj 拦截导弹 求单调递减公共子序列
- java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoader
- 课程设计——简单银行储蓄系统
- Spark入门--实战操作搜狗日志文件