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)); } } /////////////////////

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