QT项目-- Whac-A-Mole(1)

打地鼠

概况

这个项目里面主要用到的一个控件就是Graphics View。
它相当于一个容器,管理着它其中的Items并且能与之进行交互。
有关它的框架:
QGraphicsView容器->QGraphicsScence场景->QGraphicsItem图元
其中QGraphicsItem图元类,只是一个虚基类,有8中不同的派生类
这个项目中主要用到其中的QGraphicsPixmapItem 像素图元

成品

项目需要有图片,音乐等一些资源文件,需要利用QT自带的
Qt Resource File,先新建一个空白工程。

右击项目名称,添加新文件,选Qt,选中QtResource File

然后可以看到目录多了一个Resources文件
右击Resources目录下刚刚新建的resources文件
选中Open in Editor

这时候可以开始添加我们的项目文件
此时点击添加,添加文件是不可选的,可以点击添加前缀

可以编辑自己喜欢的前缀名,必须以 / 开头
它就相当于文件的目录,这个Resources相当于一个文件管理系统
此时可以点击添加,添加文件了,点击需要添加的文件
我这里只添加一些需要的图片

然后来到Forms下ui界面添加一个Graphics View
顺便添加需要的游戏按钮pushButton,开始和停止,命名好
然后添加一个显示成绩的LCD Number,按自己喜好布局好

此时我们需要构造场景给GraphicsView显示,那么场景由一个个最基本的图元Item组成
所以先添加一个类,够造Item
依旧右击项目添加新文件

选中新建C++类

这里给它指定一个Base Class,方便后面使用
QGraphicsPixmapItem
完成添加后,点开新建类的头文件
先包含QGraphicsPixmapItem头文件

一个item类就构造完成,下面实现功能
把项目需要的图片跟图元Item绑定起来,使用
void QGraphicsPixmapItem::setPixmap(const QPixmap &pixmap)函数
它需要一个QPixmap类型的传参,QPixmap有很多种重载
我们需要显示图片,就为它传进我们刚刚添加的资源文件的路径

此时一个最小图元就基本构造完成
下一步利用图元做一个场景,依旧新建一个类
但是要勾选一个QObject

新建完毕后打开新建类的头文件,我这里新建的是scene
打开scene.h把QObject改为QGraphicsScene
并且包含头文件,方便后面使用

此时我们先包含Item头文件并切构造一个Item类的对象

然后来到scene.cpp把图元加到场景里面去
这里使用
void QGraphicsScene::addItem(QGraphicsItem *item)
把图元加到场景
注意scene.cpp最底下的类也要改一下为QGraphicsScene

场景到这里就基本构造好了,下面实现显示

来到mainwidow.h
同样是包含scene类头文件并切构造一个scene对象

来到mainwindow.cpp里把场景跟grapicsview绑定
这里使用
void QGraphicsView::setScene(QGraphicsScene *scene)
可以看见这里需要一个QGraphicsScene 的传参
就把我们新构造的场景传进去就完成了

效果图

图元->场景->graphicsView
一个基本的框架有了,剩下打地鼠的完整功能明天继续。QT项目-- Whac-A-Mole(1)

(0)

相关推荐

  • 一种三维可视化技术在电力监控系统中的运用

    点击下面标题,了解通知详情 第九届电工技术前沿问题学术论坛征文通知 许昌许继软件技术有限公司的研究人员贾亚楠.张延辉.霍智超.王少鹏.贺博,在2020年第4期<电气技术>杂志上撰文,阐述了 ...

  • 【原创】python3+PyQt5 图形项的自定义和交互

    本文通过Python3+PyQt5实现<pythonQt Gui 快速编程>这本书的pageDesigner应用程序,采用QGraphicsView,QGraphicsScene,QGra ...

  • 配置CLion管理Qt项目国际化支持

    随着Qt 6的发布,cmake也正式宣告接管qmake的工作了. 在之前的一篇博客里我介绍了如何使用cmake管理你的qt项目,不过有一点我没有讲,那就是对国际化(i18n)的处理. 今天我们就来介绍 ...

  • QT 在release 模式下构建项目使用断点调试

    pro文件内 # release断点测试 QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO QMAKE_LFLAGS_REL ...

  • Qt Creator 项目属性配置常用设置 | My Code

    设置编译后目标保存目录 DESTDIR = bin 设置一些编译过程中临时文件目录 MOC_DIR = tmp/moc OBJECTS_DIR = tmp/obj UI_DIR = tmp/ui RC ...

  • QT图形界面初学者项目

    代码已经上传到github:点这里 欢迎star 文章目录 说明 流程图 程序控制流程 主要代码展示 说明 某985大学课设,使用QT Designer完成图形化交互界面设计 ,实现的效果类似下面视频 ...

  • 项目经理最核心的能力是什么?

    我做了15年项目经理. 作为项目经理,首先我们需要了解项目经理的职责是什么? 是根据项目的目标,完成并交付成果或服务. 项目经理需要做的工作包括: 1.组织(搭建团队,设置组织机构等) 2.计划(制定 ...

  • 新兴项目鲜花自动售卖机,做好1天躺赚200-300!

    年以来,有3个词频繁在各种科技媒体上出现:自动.无人.AI(人工智能).各个行业的大咖.自媒体更是想象力爆发,把这些科技新概念描述得来势汹汹,大有全民工作被机器人替代.全员失业之势. 其实,一切都并不 ...

  • 临床项目招募ALK 阳性非小细胞肺癌患者

    [招募对象]ALK 阳性非小细胞肺癌二线 [试验药物介绍]TQ-B3139 胶囊 [入组中心]就近三甲医院 [报名方式]爱递肿瘤通官网报名 [主要入选标准] 1.签署知情同意书时,年龄[18,75]岁 ...

  • 国家基本公共卫生服务项目实施12年的看法与思考

    2009年7月10日,国务院及国家医改办在北京召开了国家基本公共卫生服务项目启动暨部署电视电话会议,会上启动并部署了9项国家基本公共卫生服务,根据医改实施方案,这些项目将免费为城乡居民提供.启动的9项 ...

  • 【集采招标】中国移动启动450万芯公里蝶形光缆集采项目

    5月7日,中国移动发布2021年至2022年蝶形光缆产品集中采购招标公告:本项目为集中招标项目.本期集中采购产品为蝶形光缆产品,预估采购规模约共计约450万芯公里,折合426万皮长公里.采用公开招标方 ...