最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Qt實(shí)現(xiàn)棋盤游戲

 更新時(shí)間:2022年01月05日 09:01:51   作者:唐維康  
這篇文章主要為大家詳細(xì)介紹了Qt實(shí)現(xiàn)棋盤游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Qt實(shí)現(xiàn)棋盤游戲的具體代碼,供大家參考,具體內(nèi)容如下

知識(shí)點(diǎn)

1、畫背景圖、線條

2、qDebug()與QString聯(lián)合使用

qDebug()<<QString("(%1,%2)").arg(checkX).arg(checkY);

結(jié)果演示

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
? ? Q_OBJECT

public:
? ? explicit Widget(QWidget *parent = 0);
? ? ~Widget();

private:
? ? void paintEvent(QPaintEvent *ev);
? ? void mousePressEvent(QMouseEvent *ev);
? ? int startX;
? ? int startY;
? ? int widthC;
? ? int heightC;
? ? int checkX;
? ? int checkY;

private:
? ? Ui::Widget *ui;
};

#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include "ui_widget.h"
#include <QPainter>
#include <QPaintEvent>
#include <QMouseEvent>
#include <QPen>
#include <QMessageBox>
#include <QDebug>

Widget::Widget(QWidget *parent) :
? ? QWidget(parent),
? ? ui(new Ui::Widget)
{
? ? ui->setupUi(this);
? ? resize(700,400);

? ? checkX=-1;
? ? checkY=-1;
}

void Widget::paintEvent(QPaintEvent *ev){
? ? //畫背景圖
? ? QPainter p(this);
? ? p.drawPixmap(rect(),QPixmap(":/new/prefix1/image/Frame.jpg"));

? ? QPen pen;
? ? pen.setWidth(4);//設(shè)置線寬
? ? pen.setColor("black");
? ? p.setPen(pen);//把筆交給畫家

? ? //畫網(wǎng)格
? ? widthC=width()/10;
? ? heightC=height()/10;
? ? startX=widthC;
? ? startY=heightC;

? ? for(int i=0;i<9;i++){
? ? ? ? p.drawLine(startX,startY+i*heightC,startX+8*widthC,startY+i*heightC);//畫9條橫線
? ? ? ? p.drawLine(startX+i*widthC,startY,startX+i*widthC,startY+8*heightC);//畫9條豎線
? ? }

? ? //畫棋子
? ? if(checkX!=-1&&checkY!=-1){
? ? ? ? p.drawPixmap(startX+checkX*widthC,startY+checkY*heightC,widthC,heightC,QPixmap(":/new/prefix1/image/LuffyQ.png"));
? ? }


}

//重寫鼠標(biāo)按下事件
void Widget::mousePressEvent(QMouseEvent *ev){

? ? ?if(ev->button()==Qt::LeftButton){//左擊才顯示
? ? ? ? ?int x=ev->x();
? ? ? ? ?int y=ev->y();

? ? ? ? ?//保證不越界
? ? ? ? ?if(x>=startX&&x<=startX*9&&y>=startY&&y<=startY*9){
? ? ? ? ? ? ?checkX=(x-widthC)/widthC;//獲取棋子X
? ? ? ? ? ? ?checkY=(y-heightC)/heightC;//獲取棋子Y

? ? ? ? ? ? ?qDebug()<<QString("(%1,%2)").arg(checkX).arg(checkY);
? ? ? ? ?}

? ? ? ? ?update();
? ? ?}
}

Widget::~Widget()
{
? ? delete ui;
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++?二叉樹的實(shí)現(xiàn)超詳細(xì)解析

    C++?二叉樹的實(shí)現(xiàn)超詳細(xì)解析

    二叉樹可以簡(jiǎn)單理解為對(duì)于一個(gè)節(jié)點(diǎn)來說,最多擁有一個(gè)上級(jí)節(jié)點(diǎn),同時(shí)最多具備左右兩個(gè)下級(jí)節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)。本文將詳細(xì)介紹一下C++中二叉樹的實(shí)現(xiàn)和遍歷,需要的可以參考一下
    2022-03-03
  • C++容器適配與棧的實(shí)現(xiàn)及dequeque和優(yōu)先級(jí)詳解

    C++容器適配與棧的實(shí)現(xiàn)及dequeque和優(yōu)先級(jí)詳解

    這篇文章主要介紹了C++容器適配與棧的實(shí)現(xiàn)及dequeque和優(yōu)先級(jí),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-10-10
  • C語言結(jié)構(gòu)體成員賦值的深拷貝與淺拷貝詳解

    C語言結(jié)構(gòu)體成員賦值的深拷貝與淺拷貝詳解

    C語言中的淺拷貝是指在拷貝過程中,對(duì)于指針型成員變量只拷貝指針本身,而不拷貝指針?biāo)赶虻哪繕?biāo),它按字節(jié)復(fù)制的。深拷貝除了拷貝其成員本身的值之外,還拷貝成員指向的動(dòng)態(tài)內(nèi)存區(qū)域內(nèi)容。本文將通過示例和大家詳細(xì)說說C語言的深拷貝與淺拷貝,希望對(duì)你有所幫助
    2022-09-09
  • C語言實(shí)現(xiàn)單詞小助手功能完善版

    C語言實(shí)現(xiàn)單詞小助手功能完善版

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)單詞小助手功能的完善版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • QT實(shí)現(xiàn)提示右下角冒泡效果

    QT實(shí)現(xiàn)提示右下角冒泡效果

    這篇文章主要為大家詳細(xì)介紹了QT實(shí)現(xiàn)提示右下角冒泡效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • C++詳細(xì)講解繼承與虛繼承實(shí)現(xiàn)

    C++詳細(xì)講解繼承與虛繼承實(shí)現(xiàn)

    這篇文章主要介紹了Java中的繼承詳情,繼承是面向?qū)ο笕筇卣髦?,可以使得子類具有父類的屬性和方法,還可以在子類中重新定義,以及追加屬性和方法,下文介紹需要的朋友可以參考下
    2022-04-04
  • c語言基于stdarg.h的可變參數(shù)函數(shù)的用法

    c語言基于stdarg.h的可變參數(shù)函數(shù)的用法

    本篇文章主要介紹了c語言基于stdarg.h的可變參數(shù)函數(shù)的用法,詳細(xì)的介紹了可變參數(shù)函數(shù)的詳細(xì)用法和源碼實(shí)例,有興趣的可以了解一下
    2017-07-07
  • C語言中的sizeof操作符用法及和strlen的區(qū)別

    C語言中的sizeof操作符用法及和strlen的區(qū)別

    這篇文章主要介紹了C語言中的sizeof操作符用法及和strlen的區(qū)別,本文講解了sizeof的定義、sizeof的語法以及使用實(shí)例,最后給出sizeof與strlen的區(qū)別,需要的朋友可以參考下
    2015-07-07
  • Java?C++?算法題解leetcode145商品折扣后最終價(jià)格單調(diào)棧

    Java?C++?算法題解leetcode145商品折扣后最終價(jià)格單調(diào)棧

    這篇文章主要介紹了Java?C++?算法題解leetcode145商品折扣后最終價(jià)格單調(diào)棧示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • C語言舉例講解i++與++i之間的區(qū)別

    C語言舉例講解i++與++i之間的區(qū)別

    這篇文章主要介紹了C語言中i++和++i的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05

最新評(píng)論

石首市| 十堰市| 都兰县| 青州市| 沽源县| 惠东县| 濮阳县| 丰镇市| 涞水县| 双峰县| 德钦县| 阜阳市| 忻城县| 阳泉市| 太康县| 罗江县| 察隅县| 七台河市| 兴安盟| 金昌市| 大庆市| 密山市| 亚东县| 潞西市| 观塘区| 吉木萨尔县| 凭祥市| 于都县| 崇礼县| 夏邑县| 陆丰市| 抚远县| 乐都县| 射洪县| 石狮市| 房山区| 清新县| 苏尼特左旗| 金昌市| 家居| 海淀区|