windows2017Exam02

1.Mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<qpainter.h>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}
void MainWindow::setFixedSize ( int w, int h  )
{
    setFixedSize(400,400);
}

void MainWindow::paintEvent(QPaintEvent *event)
{
    Q_UNUSED(event);

    QPainter painter(this);
    // 设置画笔颜色
    painter.setPen(QColor(0,0,0));

    // 反走样
    painter.setRenderHint(QPainter::Antialiasing, true);
    // 设置画笔颜色、宽度
    // 设置画刷颜色
    painter.setBrush(QColor(Qt::blue));

    for(int i=0;i<6;i++)
    {
        for(int j=0;j<6;j++)
        {
             painter.drawRect(50+j*50, 50+i*50, 50, 50);
        }
    }
    painter.setPen(QColor(0,0,0));
    painter.setBrush(QColor(255, 0, 0));
    int xx=(x-50)/50+1;
    int yy=(y-50)/50+1;
    painter.drawRect(xx*50, yy*50, 50, 50);
}
void MainWindow::mousePressEvent(QMouseEvent *e)
{
     x=e->x();
     y=e->y();
    update();
}




2.MainWindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include<QMouseEvent>
namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

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

private:
    Ui::MainWindow *ui;
    void paintEvent(QPaintEvent *event);
    void mousePressEvent(QMouseEvent *e);
    void setFixedSize(int w, int h);
    int x;
    int y;
};

#endif // MAINWINDOW_H



猜你喜欢

转载自blog.csdn.net/qq_39157144/article/details/80855178
今日推荐