QT开发第一课

@TOP
熟悉QT开发环境、搭建项目框架、建立图层结构、完善背景元素。

熟悉QT开发环境

1. 创建一个新项目

新建一个项目;新建项目
选择基于桌面的QT应用;
在这里插入图片描述
命名项目与选择项目路径;
路径选择是切记不能含有中文字符,否则不能构建(红色条);
在这里插入图片描述
选择构建编译系统;
在这里插入图片描述
选择类的基本信息;Base class 为 QWidget,不生成ui文件;
在这里插入图片描述
不提供翻译;
在这里插入图片描述
根据操作系统选择构建套件;
在这里插入图片描述
完成项目创建。
在这里插入图片描述

2. 加载文件与资源

拷贝项目资料到刚才创建的项目中;
在这里插入图片描述
将code中的代码文件,以及main.cpp,mainwidget.cpp,mainwidget.h文件放入新建文件夹src中;
在这里插入图片描述
选择 项目->Add Existing Directory 添加 src 文件夹中的所有代码文件;
在这里插入图片描述
在这里插入图片描述
添加QT资源文件,文件名写pvz;
在这里插入图片描述
在这里插入图片描述
选择pvz.qrc -> Add Existing Directory 添加audio,image两个文件夹,弹窗选择 Yes to all;
在这里插入图片描述
打开 项目.pro 文件,删除过期信息;
在这里插入图片描述

3. 项目完成,运行图示。

在这里插入图片描述

加入背景元素

1. mainwidget.cpp 文件

#include "mainwidget.h"
#include "ImageManager.h"
#include <QGraphicsView>
#include <QGraphicsItem>

MainWidget::MainWidget(QWidget *parent)
    : QWidget(parent)
{
    //创建View对象,传入this指针
    QGraphicsView *gameView = new QGraphicsView(this);
    //设置游戏界面尺寸
    gameView->setGeometry(0,0,800,600);

    //创建场景对象,设置游戏界面场景
    QGraphicsScene *gameScene = new QGraphicsScene;
    gameView->setScene(gameScene);

    //创建图片元素对象,设置背景图片,添加背景元素到游戏场景
    QGraphicsPixmapItem *backgroundItem = new \
            QGraphicsPixmapItem(gImageCache->load("interface/background1.jpg"));
    gameScene->addItem(backgroundItem);
}

MainWidget::~MainWidget()
{
}

2. main.cpp 文件

#include "mainwidget.h"

#include <QApplication>
#include "ImageManager.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    //初始化图片管理器
    InitImageManager();
    MainWidget w;
    w.show();
    return a.exec();
}

3. 运行图示。

在这里插入图片描述

类的封装

添加新的C++ class 文件;
在这里插入图片描述
修改类名,基类,和相关信息;
GameView 和 GameScene 两个类;
在这里插入图片描述
在这里插入图片描述
其中 gameview.h 和 gameview.cpp ,为GameView类的构造函数添加参数;
在这里插入图片描述
在这里插入图片描述
在 mainwidget.h 文件中包含类的头文件,声明类并创建对象;
在这里插入图片描述
在 GameView 类的构造函数中实现界面操作,在 GameScene 类的构造函数中实现场景元素操作;

#include "gameview.h"

GameView::GameView(QWidget *parent)
    : QGraphicsView(parent)
{
    //设置游戏界面尺寸
    setGeometry(0,0,800,600);
}

#include "gamescene.h"
#include <QGraphicsItem>
#include "ImageManager.h"

GameScene::GameScene()
{
    //创建图片元素对象,设置背景图片,添加背景元素到游戏场景
    QGraphicsPixmapItem *backgroundItem = new \
            QGraphicsPixmapItem(gImageCache->load("interface/background1.jpg"));
    addItem(backgroundItem);
}

#include "mainwidget.h"

MainWidget::MainWidget(QWidget *parent)
    : QWidget(parent),
      gameView(new GameView(this)),
      gameScene(new GameScene)
{
	//设置游戏界面场景
    gameView->setScene(gameScene);
}

MainWidget::~MainWidget()
{
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值