本文章基本全代码敲窗口小球游戏,最后会免费加上源代码,让读者有更清晰的了解

        内容主要覆盖:

          1> Qtimer计时器的开始和结束,以及显示系统时间等等。。。

          2> 多个Qwidget布局和背景颜色调配

          3>小球撞板反弹和小球撞板在Qwidget中分数的传递(就是小球撞一次板,分数加一,并且还要显示出来)

  注:有基础的读者最好先想一下困难点在哪里,并仔细看代码中是如何实现的,本文对于QT学习是一个大的突破,毕竟全代码,后面还有一个舒尔特方格,下次再补上来.

  基本窗口就是这样,下面直接开始介绍函数吧(0基础摸索画了一天时间,我自己都被自己蠢哭!)

    步骤一:我弄简单一点,做一个大的vbox垂直布局,里面包括了下面的downwidget和hbox水平布局,hbox水平布局又包括了time和upwidet(这里hbox和vbox是系统自带函数,downwidget,time,upwidget是要自己写的小部件,就是为了排列好看,才有了上面的布局)

 hbox = new QHBoxLayout;hbox->addWidget(time);topWidget->setFixedHeight(30);time->setFixedHeight(30);hbox->addWidget(topWidget);vbox = new QVBoxLayout();vbox->addLayout(hbox);vbox->addWidget(bottomWidget);setLayout(vbox);resize(800, 600);palette.setBrush(this->backgroundRole(), Qt::lightGray);this->setPalette(palette);

    步骤二: time里面加入系统时间(关键),upwidget里面加入label(这里我说一下,如何实现小球撞板分数就加一呢?关键在于球的横纵坐标等于挡板的横纵坐标即相撞时,就要发出一个myscore的信号,然后mainwidget里面接到,传给upwidget,upwidget里面的变量加1,再输出就实现啦!)downwidget里面加入小球运动的函数就可以了 

    time:

  QDateTime time = QDateTime::currentDateTime();QString str = time.toString("yyyy-MM-dd hh:mm:ss dddd");label->setText(str);

    upwidget:
    

  upscore++;labelScore->setText(QString("Score: %1 ").arg(upscore));

    downwidget:

    (小球运动的代码太过简单,所以很多,这里不写,读者直接看压缩包)

    步骤三:设置背景,前2步最重要吧,背景什么的就是为了好看,2个按钮也只需要加个timer.stop()之类的就可以了

      

void UpWidget::paintEvent(QPaintEvent *event){Q_UNUSED(event);QPainter p(this);p.setPen(Qt::NoPen);p.setBrush(Qt::yellow);p.drawRect(rect());
}

   总结:按照老师要求,本游戏可以实现挡板档球,每挡一次分数加一,显示时间,让球停止,让球加速,整体布局的功能,主要内容就是先布局 widget,然后在每一个widget里面分别操作,互不干扰,唯一影响的就是传分数,上面说了一遍,我再说一下,读者可能还是很疑惑,就是downwidget是无法传分数的,只需要发一个信号(函数)就可以了,然后mainwidget实现的是一种中转站的功能,把upwidget和downwidget联系起来,接收他的信号,让变量+1,再显示在label上面就可以了,很简单的一个游戏,但是我这个垃圾从0开始,搞了一天才搞完,有问题再讨论。

  博客园上面好像传不了压缩包啊,没办法啦,传到网盘去吧,以后留个纪念!

  链接: https://pan.baidu.com/s/1o799EjC 密码: ijyw

转载于:https://www.cnblogs.com/meditation5201314/p/7751472.html

QT---实现小球游戏(零基础入门)相关推荐

  1. 贪吃蛇的使命之零基础入门贪吃蛇游戏(附演示地址)

    作者: C you again,从事软件开发 努力在IT搬砖路上的技术小白 公众号: [C you again],分享计算机类毕业设计源码.IT技术文章.游戏源码.网页模板.程序人生等等.公众号回复 ...

  2. 零基础入门3D游戏建模师知识必备

    入门3D游戏建模师 随着国内游戏市场的蓬勃发展,行业对于游戏建模的需求在不断增加,相信很多想要进入游戏行业的小伙伴,想做3D游戏建模师,又不知道该如何去做,今天小编就带大家聊一聊关于零基础入门建模须要 ...

  3. 〖Python零基础入门篇(64)〗- 小案例 - 猜拳游戏与数字猜猜猜

    订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...

  4. 零基础学python pdf-Python pdf(零基础入门学习Python)V1.0 最新版

    Python pdf(零基础入门学习Python)是一款功能强劲专业实用的Python电子书籍.想要零基础入门学习Python?那就快试试绿色先锋小编推荐的Python pdf最新版下载使用.由作者小 ...

  5. 零基础学python 视频_零基础入门学习PYTHON(第2版)(微课视频版)

    小甲鱼畅销图书重磅升级,针对Python 3.7,通过生动的实例,让读者在实践中理解概念,在轻松.愉快中学会Python! 本书提倡理解为主,应用为王.因此,只要有可能,小甲鱼(注:作者)都会通过生动 ...

  6. Task01——零基础入门NLP - 新闻文本分类之赛题理解

    本篇目标 首先本篇文章会对赛题进行介绍以及个人对赛题的理解,带大家接触NLP的预处理.模型构建和模型训练等知识点. 赛题介绍 赛题名称:零基础入门NLP - 新闻文本分类 赛题任务:赛题以自然语言处理 ...

  7. 零基础入门学习Python(33)-图形用户界面编程(GUI编程)EasyGui

    用户界面编程,即平时说的GUI(Graphical User Interface)编程,那些带有按钮.文本.输入框的窗口的编程 EasyGui是一个非常简单的GUI模块,一旦导入EasyGui模块,P ...

  8. 零基础入门NLP - 新闻文本分类

    本文是对阿里云新人竞赛中的"零基础入门NLP - 新闻文本分类"解体过程进行的记录,目前仅使用了textCNN模型进行预测,后续还会考虑使用LSTM进行对比. 赛题数据 赛题以新闻 ...

  9. python零基础入门教程视频下载-Python零基础入门学习视频教程全42集,资源教程下载...

    课程名称 Python零基础入门学习视频教程全42集,资源教程下载 课程目录 001我和Python的第一次亲密接触 002用Python设计第一个游戏 003小插曲之变量和字符串 004改进我们的小 ...

  10. python基础教程视频教程百度云-Python零基础入门学习视频教程全42集百度云网盘下载...

    课程简介 Python零基础入门学习视频教程全42集百度云网盘下载 课程目录 042魔法方法:算术运算 041魔法方法:构造和析构 040类和对象:一些相关的BIF 039类和对象拾遗 038类和对象 ...

最新文章

  1. 如何使网站的右键失效
  2. Bootstrap3.1开发的响应式个人简历模板
  3. black.lst 丢失或被破坏,怎么解决
  4. Sql Server函数全解二数学函数
  5. [css] 怎么给手持设备添加特殊样式?
  6. linux隐藏特定进程,linux 隐藏进程
  7. js数组常用方法总结(包括ES6)
  8. C#6.0VISUALSTUDIO 2015 C#入门经典 第7版pdf
  9. 浅议 Web 表单设计
  10. android 电脑 共享文件夹,安卓手机如何访问电脑局域网共享的文件
  11. 今天中午吃什么转盘html,吃到撑的几种简单午饭,让你再也不发愁吃什么了!...
  12. 腾讯云微服务引擎 TSE 11月产品动态
  13. H5+css+js前端特效源代码:发光动画按钮:上传按钮
  14. 今天开始做战斗,回合制战斗代码实现第一篇补充,从头开始,简单的2d回合制游戏一些文档方面的知识
  15. Java练习习题,百钱买百鸡问题,用100文钱买鸡,公鸡5文钱一只,母鸡3文钱一只,小鸡3只1文钱
  16. SV学习(1)——数据类型
  17. sublime配置python开发环境以及遇到的坑(附终极解决方案)
  18. IDEA 学生授权申请方式(免费)
  19. java 彩票走势图算法
  20. 数据仓库架构的发展进程

热门文章

  1. bootstrap响应式网页布局
  2. 另类!这项目没有一行代码,30k star 和 近40w的内容收录,登顶GitHub热榜
  3. java文件上传后如何删除_java中上传完文件删除不了的问题
  4. OpenGL三角形旋转平移变换
  5. C-数字0 反斜杠0 字符0 NULL区别
  6. (探讨)MyBatis中的N+1问题,多表关联查询效率高点还是多次单表查询效率高
  7. 雪花算法生成分布式ID的时间回拨问题处理
  8. 解决桌面右键文件夹卡死的问题
  9. Postman的安装使用及填坑心得
  10. 云终端计算机进入bios,废弃云终端拆解折腾记