C++QT絵図入門練習

1702 ワード

ウィンドウクラスwidget.h
#ifndef WIDGET_H
#define WIDGET_H

#include 

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

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

protected:
    /*       ,   
     *        ,           
     *           ,         
     */
    void paintEvent(QPaintEvent *);

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H

インプリメンテーション関数
#include "widget.h"
#include "ui_widget.h"
#include
#include
#include

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

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

void Widget::paintEvent(QPaintEvent *)
{
    QPainter p(this);      //       

    //     
    // p.drawxxx()
    //     
    // p.drawPixmap(0,0,width())

    //     
    QPen pen;
    pen.setWidth(5);                 //       
    pen.setColor(QColor(14,9,234));  // rgb    
    //pen.setStyle(Qt::DashLine);    //     
    p.setPen(pen);                   //       

    //       
    QBrush brush;
    brush.setColor(Qt::red);           //     
    brush.setStyle(Qt::Dense1Pattern); //     

    //        
    p.setBrush(brush);

    //    
    p.drawLine(50,50,150,50);
    p.drawLine(50,50,50,150);

    //    
    p.drawRect(150,150,100,50);

    //    
    p.drawEllipse(QPoint(150,150),50,25);

}

しゅかんすう
#include "widget.h"
#include 

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    return a.exec();
}