zoukankan      html  css  js  c++  java
  • Qt中绘制五子棋棋盘

    一个需要做大作业的同学问我相关内容,就顺手写了一个,贴出来。

    项目包含头文件 mainwindowh,源文件mainwindow.cpp和主函数main.cpp。

    如下:

    mainwindow.h

    #ifndef MAINWINDOW_H
    #define MAINWINDOW_H
    
    #include <QWidget>
    #include <QPainter>
    
    class MainWindow : public QWidget
    {
      Q_OBJECT
    
    public:
      MainWindow(QWidget *parent = 0);
      ~MainWindow();
      const int SIZE=10;
      const int WIDTH=40;
      const int x=20,y=20;
    private slots:
    
    private:
      void paintEvent(QPaintEvent *);//绘图函数声明
      //void mousePressEvent(QMouseEvent *);
      QPainter *paint;
    };
    
    #endif // MAINWINDOW_H

    mainwindow.cpp

    #include "mainwindow.h"
    
    MainWindow::MainWindow(QWidget *parent)
      : QWidget(parent)
    {
    
    }
    
    MainWindow::~MainWindow()
    {
    
    }
    void MainWindow::paintEvent(QPaintEvent *)
    {
      paint=new QPainter;
      paint->begin(this);//主窗口
    
      paint->setPen(QPen(Qt::darkGreen,2,Qt::SolidLine));//钢笔工具:颜色,线号,实线
      //画SIZE+1条横线
      for(int i=0;i<SIZE+1;i++)
        {
          paint->drawLine(x,y+WIDTH*i,x+WIDTH*(SIZE),y+WIDTH*i);//画线函数:x1,y1,x2,y2:画从(x1,y1)到(x2,y2)的线
        }
      //画SIZE+1条竖线
      for(int i=0;i<SIZE+1;i++)
        {
          paint->drawLine(x+WIDTH*i,y,x+WIDTH*i,y+WIDTH*(SIZE));
        }
      //在棋盘正中做一个黑棋子
      paint->setBrush(QBrush(Qt::black,Qt::SolidPattern));//毛刷:颜色,实图案
      paint->drawEllipse((SIZE+0.5)*WIDTH/2,(SIZE+0.5)*WIDTH/2,WIDTH/2,WIDTH/2);//画椭圆:中心点X,Y,宽度,高度
      paint->end();
    }

    main.cpp

    #include "mainwindow.h"
    #include <QApplication>
    
    int main(int argc, char *argv[])
    {
      QApplication a(argc, argv);
      MainWindow w;
      w.show();
    
      return a.exec();
    }
  • 相关阅读:
    kernel_size
    pytorch:修改预训练模型
    Python yield使用浅析
    respberry2b + android5.1
    android中调用c++文件并转为so
    图像灰度化
    图像的高斯平滑滤波
    历届试题 分考场
    头发啊头发
    历届试题 合根植物
  • 原文地址:https://www.cnblogs.com/cielosun/p/5654513.html
Copyright © 2011-2022 走看看