Qt繪制網格


Qt繪制網格

mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QPainter>
#include <QDebug>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

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

    protected:
    void paintEvent(QPaintEvent *);

private:
    Ui::MainWindow *ui;

    
};

#endif // MAINWINDOW_H

 

 

mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"

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

    

}

MainWindow::~MainWindow()
{
    delete ui;
}



void MainWindow::paintEvent(QPaintEvent *)
{
    /*
    //當你運行程序時,該函數會被自動調用,前面重繪函數部分已經說過了哦。
    //現在我們第一步是要有畫筆,我們建立一個畫筆對象
    QPainter painter(this);
    //此時painter就是我們自己的畫筆了,我們開始畫畫,現在我要先畫一個點,QPainter 給我們提供了豐富的方法,畫一個點void drawPoint(int x, int y)
    painter.drawPoint(100,100);//
    //t同理直線
    // void drawLine(const QPoint &p1,const QPoint $p2)
    painter.drawLine(QPoint(1,1),QPoint(100,101));//QPoint代表什么,如果你是初學者百度QPoint,百度大神會詳細的告訴你

    painter.drawRect(1,1,100,100);//繪制矩形

    */

    int win_width = this->geometry().width();
    int win_height = this->geometry().height();

    QPainter painter(this);

    qDebug()<<"win size:"<<win_width<<"   "<<win_height;



    for(int x=0;x<win_width;x+=25)
    {
        painter.drawLine(QPoint(x,1),QPoint(x,win_height));
    }

    for(int y = 0;y<win_height;y+=25)
    {
        painter.drawLine(QPoint(1,y),QPoint(win_width,y));
    }


}



/////////////////////

 

 

 

###########################


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM