C++ 与Qt开发人机象棋(第一部分)

MyWidget.h             //Hearders  
#include <QWidget>
#include "MyWidget.h"
#include <QPushbutton>namespace{
class MyWidget:
}class MyWidget:public QWidget
{Q_OBJECTpublic:explict MyWidget(QWidget *parent=0);//在QTcreator中,类倾斜表示为虚函数virtual void paintEvent(QPaintEvent*);//Mmouse press event鼠标点击操作virtual void mousePressEvent(QMouseEvent*);//定义一个按钮对象QPushButton*_button;//定义一个点击事件QPoint _ptClick;private:Ui::MyWidget *ui;
};#endif // MYWIDGET_H

以上是在头文件.h里 先定义好要用到的事件,和对象。

接下来是 MyWidget.cpp

MyWidget.cpp    //Sources#include "MyWidget.h"
#include <QPainter>        //为了能绘制,使用到这个类来绘制
#include <QMouseEvent>     //为了能点击时用到,所以这个类可以分配给ev形参MyWidget::MyWidget(QWidget *parent):QWidget(parent),ui(new Ui::MyWidget)
{ui->setup(this);_button=new QPushButton("按一下",this);//注意这里的this,是指这里的MyWidget ,否则button会独立}
MyWidget::~MyWidget()   //这个ui现在其实也没什么用,后期可能会用到,就加进来了。(比如美化界面)
{
delete ui;
}
void MyWidget::paintEvent(QPaintEvent*)
{setWindowsTitle("perdonar quenopodiáceo qué"); //设置窗体名称(西班牙语“原谅管子我”)QPaint painter(this);painter.darwEllipse(_ptClick,30,30,);//这是一个绘制-》鼠标点击的地方-》30*30大小painter.setBruh(QBrush(QColor(0,0,255)));//暂时假设他是一个透明看不见的绿色帽子。
}
void MyWidget::mousePressEvent(QMouseEvent *ev) //把ev作为形参可以传递数值
{_ptClick=ev->pos();  //得到鼠标点击的地方update();            //用来强制重新绘制界面
}

编译后,会得到这样的一个界面,现在可以在界面上 任意点击,都会有一个 30*30的圆圈啦。

 

重点有:

1.函数的定义和形参的带入与回传

2.析构函数与构造函数不可混淆写错

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498195.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++与Qt开发人机象棋(第二部分)

C与Qt开发人机象棋(第二部分) 项目目录 文件名->(包含)类名1->(包含)类名2 ChessByChessBy.proHeadersBoard.h–––SourcesBoard.cppmain.cpp 上次我们讲到 调用了 获取鼠标点击的当前区域 以及在屏幕上绘制线段&#xff0c;圆&#xff0c;文本&#xff0c;改变他们的…

自动驾驶出租车可行性研究报告:2020年能成真吗?

来源&#xff1a;网易智能 概要&#xff1a;自动驾驶出租车最终可能会促进全球汽车行业急速发展。 自动驾驶出租车最终可能会促进全球汽车行业急速发展。下面&#xff0c;我们采用举实例的方式揭示了其中的原因。 未来20年&#xff0c;人们的移动出行方式可能会发生翻天覆地的变…

用MySQL创建数据库和数据库表

1、使用SHOW语句找出在服务器上当前存在什么数据库&#xff1a; mysql> SHOW DATABASES; -------------------- | Database | -------------------- | information_schema | | db_bxiqi | | flexdb | | house_rent_ms | | m…

Maira-云视频解析(使用方法)

Maira-云视频解析&#xff08;使用方法&#xff09; 前言【后台不完善&#xff0c;陆续更新中】 大家还在付费看电影吗&#xff1f; Marira-云视频解析 解锁所有平台的付费电影&#xff0c;PC/安卓/IOS 都可以使用。如果你觉得这个项目很好&#xff0c;请推荐给你的朋友使用 …

深度报告:中国将主宰5G时代?华为中兴的最大机会来了

来源&#xff1a;智东西 概要&#xff1a;11月15日&#xff0c;工信部官网发布《关于第五代移动通信系统使用3300-3600MHz和4800-5000MHz频段相关事宜的通知》&#xff0c;规划5G系统的工作频段&#xff0c;以适应和促进5G系统在我国的应用和发展。 11月15日&#xff0c;工信部…

ApkTool2.34 打包经验

个人总结-ApkTool2.34 打包经验基本命令基本演示基本命令 java -jar apktool.jar -r d aaa.apk -o bbb ↑这句话的意思 将aaa.apk 解压出到 bbb apktool.jar 是打包引用包 apktool.jar 下载地址 https://ibotpeaches.github.io/Apktool/ JAVA JDK 1.8.0 自行百度安装配置 path…

一个经典的WIN32窗口应用

一个经典的WIN32窗口应用源自图书《精通Windows程序设计--基于VisualC实现》源自图书《精通Windows程序设计–基于VisualC实现》 这里使用**visual studio2019 ** //1. 新建一个cmd控制台应用程序 //2.将项目->属性->连接器->系统->子系统&#xff08;窗口&#…

MySQL CookBook 学习笔记-01

1、使用指定文件&#xff0c;创建表并插入数据&#xff1a; 文件&#xff0c;d:\MySQL_cookbook\limbs.sqlDROP TABLE IF EXISTS limbs; CREATE TABLE limbs (thing VARCHAR(20), # what the thing islegs INT, # number of legs it hasarms INT …

Cocos Creator棋牌开发-部署经验总结

Cocos Creator棋牌开发-部署经验总结1.服务器系统部署2.安装环境3.开放端口3.1接下来在centos中也开放端口1.服务器系统部署 服务器系统&#xff1a;Centos 7 数据库&#xff1a;mariadb 服务端:NodeJS 2.安装环境 1.安装宝塔 》安装 PM2.5管理器 》安装mariadb 2.配置好Nod…

人工智能正在激活互联网类脑系统,2018年,云脑将成为新热点

作者&#xff1a;未来智能实验室 一&#xff0c;AI与互联网的结合 从科学史可以看到这样一个规律&#xff0c;每一次人类社会的重大技术变革都会导致新领域的科学革命&#xff0c;互联网革命对于人类的影响已经远远超过了大工业革命。与工业革命增强人类的力量和视野不同&…

MYSQL 连接数据库命令收藏

一、MySQL 连接本地数据库&#xff0c;用户名为“root”&#xff0c;密码“root”&#xff08;注意&#xff1a;“-p”和“root” 之间不能有空格&#xff09;C:\>mysql -h localhost -u root -proot二、MySQL 连接远程数据库&#xff08;192.168.0.201&#xff09;&#xf…

CoCos Creator打包各类问题总结

CoCos Creator打包各类问题总结如果你的打包APK 出现 ‘黑屏\找不到Mould看这里&#xff01;’JAVA JDK环境变量与构建 毫无关系&#xff01;&#xff01;&#xff01;1. SDK NDK 配置2. 热更新问题3. 打包配置如果你的打包APK 出现 ‘黑屏\找不到Mould看这里&#xff01;’ J…

AI 知名企业“云从科技”今宣布完成 B 轮融资,总计获 25 亿元资金支持

来源&#xff1a; DeepTech深科技 概要&#xff1a;近日&#xff0c;中国人工智能国家队云从科技正式完成 B 轮 5 亿元人民币融资&#xff0c;加上此前广州市政府对云从科技的 20 亿政府资金支持&#xff0c;此次总计获得 25 亿元发展资金。 近日&#xff0c;中国人工智能国家队…

Cocos Creator -构建打包 所有版本测试

Cocos Creator -构建打包 所有版本测试 目前在打包APK时&#xff0c;出现了种种问题&#xff0c;都是因为打包环境操作&#xff0c;所以为了解决所有同行的同惑 ***大菠萝***做了一系列测评 SDK26SDK27SDK28SDK29SDK30JDK18√√√√JDK19√√√JDK20√√√√√JDK21√JDK21 如…

Andrej Karpathy发文谈神经网络:这不仅仅是分类器,这是一种新的软件开发思想

作者&#xff1a; 晓凡 概要&#xff1a;有越来越多的传统编程语言&#xff08;C、C、Java&#xff09;等程序员开始学习机器学习/深度学习&#xff0c;而对机器学习/深度学习的研究人员来说&#xff0c;编程也是必备技巧。 有越来越多的传统编程语言&#xff08;C、C、Java&am…

PineApple_Ninja.js

PineApple_Ninja.js 1.本章内容 2.理解函数的重要性 3.定义函数的方式 4.参数赋值 JavaScript中最关键的函数是&#xff1a;第一类对象&#xff08;first-class objects&#xff09; 函数与对象共同存在&#xff0c;函数也可以被视为其他任意类型的JS对象。 函数和普通数据类…

Java国际化资源绑定-----示例

mess.properties文件&#xff1a;helloHello World! msgHello,{0}!Today is {1}.mess_en_US.propertieshelloHello World! msgHello,{0}!Today is {1}. mess_zh_CN.properties&#xff08;Properties Editor插件&#xff09;hello您好&#xff01; msg你好&#xff0c;{0}&…

微软为什么要公开AI系统测试数据集和度量指标?

来源&#xff1a; 微软研究院AI头条 概要&#xff1a;微软研究院Maluuba团队的研究员Samira Ebrahimi Kahou等人在研究如何利用人工智能理解柱线图和饼图中所包含的信息这一问题时遇到了一个难题&#xff1a;没有现成的数据集可以用来测试他们的假设。 微软研究院Maluuba团队的…

SHA384-算法解密

今天无意发现一款网页你懂得游戏 于是出于好奇就去玩了一会&#xff0c;看着小姐姐发卡。 于是打开抓包软件。 这里推荐大家准备好 1.抓包软件 2纸和笔 用来在10秒内完成计算 先来了解一下 sha384算法&#xff0c;很难破解 但是巧了&#xff0c;我就这么巧&#xff01; 看了20多…

JS写纸牌发牌和动画(详细解剖)

先看演示 游戏构建准备 1.准备52张纸牌 2.一张桌布 3.编辑工具为 Visual Code 技术概要 1.对象操作 2.数据操作 3.JS animation动画 4.全局变量 function desen_x(){let that this;var desen["h_1","h_2","h_3","h_4","h_5&…