首页 > 其他分享 >Qt实践项目打地鼠之----按钮控件实现(五)[附GitHub项目下载地址]

Qt实践项目打地鼠之----按钮控件实现(五)[附GitHub项目下载地址]

时间:2022-11-22 15:31:09浏览次数:37  
标签:控件 GitHub Qt void scene connect 按钮 myScene


这一篇实现按钮控件的实现.

                               

Qt实践项目打地鼠之----按钮控件实现(五)[附GitHub项目下载地址]_i++

实现按钮的响应功能无非就是建立信号与槽,这里不能使用右键->转到槽的操作,原因如下.

首先在mainwindow.cpp中写connect函数,因为按钮按下启动计时器工作,所以接收信号者并非this而是this->scene,

connect(ui->btn_start,&QPushButton::clicked,this->scene,&myScene::startGame);
connect(ui->btn_pause,&QPushButton::clicked,this->scene,&myScene::pauseGame);
connect(ui->btn_end,&QPushButton::clicked,this->scene,&myScene::stopGame);

startGame函数定义如下: 

void myScene::startGame()
{
this->ptimer->start(800);

}

由此,依次编写停止键和终止键

void myScene::pauseGame()
{
this->ptimer->stop();

}

void myScene::stopGame()
{
this->ptimer->stop();
//每次重置背景
for(int i = 0; i < 16; i++){
this->item[i]->setPic(":/background/bg1.png");}
}

这是已经实现了按钮控件的操作,但是鼠标事件应该只发生在开始键按下时,停止键和结束键都不应该产生响应,故添加

          

Qt实践项目打地鼠之----按钮控件实现(五)[附GitHub项目下载地址]_控件_02

void myitem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
if(this->isStart()){
if(this->isMouse()){
qDebug() << "mouse";
}else {
qDebug() << "notmouse";
}
}

}

                 

Qt实践项目打地鼠之----按钮控件实现(五)[附GitHub项目下载地址]_控件_03

下一篇时打地鼠的终结篇,实现分数的显示,敬请期待

标签:控件,GitHub,Qt,void,scene,connect,按钮,myScene
From: https://blog.51cto.com/u_13875041/5878131

相关文章

  • net中winform教程 ListView控件如何实现分组?
    虽然现在winform开发很少使用微软自带的控件,但其中有一个控件还是不错的,它就是ListView控件。操作系统的文件夹页,就是ListView控件的样子,数据展示包括大图标、小图标、列表......
  • net中winform教程 浏览器控件,还是微软的WebView2最好用
    如果想在Winform项目中使用浏览器控件,可能想到的第一个控件就是微软自带的WebBrowser,可这个不争气的家伙,从出现到现在,没有一丁点的升级,即使身为Net程序员,也不得不对它竖起......
  • MFC标签控件 CTabCtrl
    CTabCtrl标签页使用引用TabSheet.h.cpp添加到项目中拖入控件tabctrl添加变量 类型TabSheet类型创建两个标签页 属性border改为none style改为c......
  • Qt编译出错原因----项目保存路径中有中文!!!
    为项目MotorCtrlDemo执行步骤…19:11:50:正在启动“C:\Qt\Qt5.9.0\5.9\msvc2013_64\bin\qmake.exe”E:\参考程序\MotorCtrlDemo\MotorCtrlDemo.pro-specwin32-msvc......
  • github操作(6)
    github操作github网站:https://github.com/准备工作,需要三个github账号进行登录创建远程仓库选择邀请合作者(CodeWang-NC视角:)选择协作的仓库(git-csdn)------......
  • 迅为3399开发板Qt蜂鸣器和LED测试
    QLed测试资料在网盘“iTOP-3399开发板\iTOP-3399开发板\02_iTop-RK3399开发资料汇总(不含光盘内容)\05_iTOP-3399开发板Qt应用开发资料\3399开发板QT测试-QtLED......
  • 项目demo —— PyQt5简单画板程序
    文章目录​​前情提要​​​​demo演示​​​​代码​​​​1.Node节点类​​​​2.Canvas画布类​​​​3.Editor编辑器类​​前情提要最近在看强化学习,想着快速做一......
  • Qt编写ERP库存库房发货电子看板
    一、前言有了之前可视化大屏电子看板系统的经验,要做这个ERP库存库房发货电子看板,可以说是水到渠成轻车熟路,技术难度比之前做过的各种大屏系统的子模块都要简单。由于库存......
  • 如何在GitHub看commit记录、push的用户?
    多数博客的code下有个commit标签,可我啥都没有。。还有人在pullrequest里看记录,我的个人项目,就没提交过pullrequest,底下啥都没有。咋整?查半天查不着。。参考:https......
  • pyside QtCore.so: ELF load command alignment not page-aligned
    pysideQtCore.so:ELFloadcommandalignmentnotpage-alignedredmoons于2020-05-2021:12:16发布1461收藏分类专栏:pyside1.2.4文章标签:linuxpython经验分享......