当前位置: 首页 > wzjs >正文

北京网站制作抖音推广方案

北京网站制作,抖音推广方案,wordpress 邀请注册,个人建站流程详解按键事件 按键事件是Qt提供的特有的事件体系,其头文件为QKeyEvent,这一篇我们通过一个demo演示按键事件,首先我们创建一个QApplication项目,创建类名为Widget,继承自QWidget,然后在ui里添加一个button。重…

按键事件

按键事件是Qt提供的特有的事件体系,其头文件为QKeyEvent,这一篇我们通过一个demo演示按键事件,首先我们创建一个QApplication项目,创建类名为Widget,继承自QWidget,然后在ui里添加一个button。重写Widget的keyPressEvent函数

void Widget::keyPressEvent(QKeyEvent *event){//判断是ctrl+Mif(event->modifiers() == Qt::ControlModifier){if(event->key() == Qt::Key_M  && windowState() != Qt::WindowFullScreen){setWindowState(Qt::WindowFullScreen);return;}return;}//如果按下的是ESCif(event->key() == Qt::Key_Escape && windowState() == Qt::WindowFullScreen){setWindowState(Qt::WindowNoState);return;}
}

在这个按键事件里,我们判断了是否按下控制键Ctrl,如果按下了控制键Ctrl并且按下M键,则进行之后的判断逻辑。
如果此时窗口并不是全屏,那么就将窗口设置为全屏,否则什么都不做。
如果按下的是ESC键,且此时窗口全屏,则将窗口设置为正常状态,非全屏。

控制按钮移动

我们可以通过上下左右键控制按钮移动,需求如下
1 当我们按住一个方向键时控制按钮朝一个方向移动
2 当我们同时按住两个方向键则让其朝着两个方向的中间移动

void Widget::keyPressEvent(QKeyEvent *event){bool b_upflag= false;bool b_downflag = false;bool b_leftflag = false;bool b_rightflag = false;if(event->key() == Qt::Key_Up){if(event->isAutoRepeat()){auto curpos = ui->pushButton->pos();curpos.setY(curpos.y()-5);ui->pushButton->move(curpos);return;}else{b_upflag = true;}}if(event->key() == Qt::Key_Left){if(event->isAutoRepeat()){auto curpos = ui->pushButton->pos();curpos.setX(curpos.x()-5);ui->pushButton->move(curpos);return;}else{b_leftflag = true;}}if(event->key() == Qt::Key_Down){if(event->isAutoRepeat()){auto curpos = ui->pushButton->pos();curpos.setY(curpos.y()+5);ui->pushButton->move(curpos);return;}else{b_downflag = true;}}if(event->key() == Qt::Key_Right){if(event->isAutoRepeat()){auto curpos = ui->pushButton->pos();curpos.setX(curpos.x()+5);ui->pushButton->move(curpos);return;}else{b_rightflag = true;}}auto curpos = ui->pushButton->pos();if(b_upflag){curpos.setY(curpos.y()-5);}if(b_downflag){curpos.setY(curpos.y()+5);}if(b_leftflag){curpos.setX(curpos.x()-5);}if(b_rightflag){curpos.setX(curpos.x()+5);}ui->pushButton->move(curpos);}

我们通过isAutoRepeat函数判断某一个按键是否被单一按下,如果是,则直接移动按钮的位置。
否则我们根据按键的方向设置对应的标记,最后根据标记设置按钮的位置,以达到朝着两个方向的中间移动的效果。

总结

源码链接:
我们通过isAutoRepeat函数判断某一个按键是否被单一按下,如果是,则直接移动按钮的位置。
否则我们根据按键的方向设置对应的标记,最后根据标记设置按钮的位置,以达到朝着两个方向的中间移动的效果。

总结

源码链接:
https://gitee.com/secondtonone1/qt-learning-notes

http://www.dtcms.com/wzjs/74596.html

相关文章:

  • 手机企业网站源码搜索关键词分析
  • 龙岩网站建设全包谷歌paypal官网入口
  • html css做一个漂亮的网页seo分析网站
  • 有人拉我做彩票网站网店seo是什么意思
  • asp网站后台管理系统模板东莞关键词排名seo
  • 可以做线路板网站的背景图腾讯新闻潍坊疫情
  • 阿里云腾讯云网站建设什么平台可以打广告做宣传
  • 公司的网站 优帮云网站seo优化多少钱
  • 最简单的手机网站制作媒体软文发布平台
  • 潍坊方圆网站建设seo网课培训
  • 河南省住房建设厅官方网站韩国热搜榜
  • 沈阳科技网站首页网络推广方案的内容
  • 什么是二级域名网站石家庄网络推广平台
  • 网站运营管理方案东莞网站建设工作
  • 营销技巧在线播放厦门seo测试
  • 三亚城乡建设局网站网站设计
  • 网站优化图片链接怎么做关键词优化seo外包
  • 做网站软件的搜索引擎优化怎么做
  • 怎么自己公司名下的网站南宁网站建设服务公司
  • cdr可以做网站页面吗怎么才能创建一个网站
  • iis8.5安装wordpressseo优化标题 关键词
  • 洮南网站建设哪家好网站检测
  • 网站建设申请百度电脑版下载
  • 怎样用ps做网站首页图网络平台有哪些?
  • PHP做克隆网站北京seo公司哪家好
  • 香港公司怎么在大陆做网站郑州厉害的seo优化顾问
  • 如何建立自己的手机网站百度seo咋做
  • 做企业网站哪家公司专业安装百度一下
  • 网站建设维护课件ppt广州市新闻最新消息
  • 找工作在哪个app找比较真实可靠广州seo优化