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

Qt基础之二十九:图形视图框架(Graphics View Framework)及其应用

无意中从网络获取一份俄罗斯方块源码,基于图形视图框架(Graphics View Framework)实现的。当然源码的核心从来都不是界面,而是方块的移动、变形和消除等算法。源码非常完整,注释详细,经改动后已能在Qt5中运行,下面是运行效果,背景音乐和音效也是有的。

一.效果

二.原理

Qt提供了图形视图框架(Graphics View Framework)、动画框架(Animation Framework)和状态机框架(State Machine Framework)来实现更加高级的图形和动画应用。使用这些框架可以快速设计出动态GUI应用程序和各种动画,游戏程序。
之前的Paint System 2D绘图已经可以绘制出各种图形,并且进行简单的控制。不过,如果要绘制成千上万相同或者不同的图形,并且对它们进行控制,比如拖动这些图形、检测它们的位置以及判断它们是否相互碰撞等,使用以前的方法就很难完成了。这时可以使用Qt提供的图形视图框架来进行设计。
图形视图框架提供了一个基于图形项的模型视图编程方法,主要由场景、视图和图形项三部分组成,这三部分分别由QGraphicsScene,QGraphicsView和 QGraphicsItem这3个类来表示。多个视图可以查看一个场景,场景中包含各种各样几何形状的图形项。
图形视图框架可以管理数量庞大的自定义2D图形项,并且可以与它们进行

http://www.lryc.cn/news/15988.html

相关文章:

  • 电商平台销量查询:2023年1月牛奶乳品热门排行榜
  • 应用层协议
  • Golang调用FFmpeg转换视频流
  • 外卖点餐小程序开发
  • 华为OD机试真题Python实现【猴子爬山】真题+解题思路+代码(20222023)
  • wordpress 网站备份
  • 如何尽早解决需求变更隐患,降低项目延期风险?
  • [机缘参悟-96] :软件中到处充满了人类社会的气息!
  • 知识点滴 - 自行车分类
  • 【建议收藏】Jenkins+postman+newman之API全自动化测试
  • MySQL数据库————MVCC
  • 为啥Python多线程爬虫跑的慢?
  • 万字长文解析!复现和使用GPT-3/ChatGPT,你所应该知道的
  • Kaldi语音识别技术(八) ----- 整合HCLG
  • day17_异常
  • vue中把node-sass换成dart-sass方式(解决办法)
  • 深入浅出深度学习Pytroch
  • CCNP350-401学习笔记(451-500题)
  • 3年功能测试经验,面试想拿到15k很难吗?
  • 【7/101】101次面试之测试技术面试题
  • 【蓝桥杯每日一题】前缀和算法
  • 【C#基础】C# 常用数据结构
  • MySql 及MyBatis数据的批量操作
  • 无代码表格数据库——一个企业数字化新物种
  • 第十三届蓝桥杯国赛 C++ C组 F 题、Python B组 E 题——近似GCD(AC)
  • 分享5款小众良心软件,好用到让人惊艳
  • WAF是什么?一篇文章带你全面了解WAF
  • django项目实战八(django+bootstrap实现增删改查)进阶验证码
  • IP 协议
  • 好用的SQL工具盘点:从学习到工作总有一款适合你