⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 画图程序.cpp

📁 painter linux qt painter standardized format
💻 CPP
字号:
//画图程序,qpoint,qpainter的使用.用points[]记录鼠标轨迹点color[]随机生//成MAXCOLORS种颜色,用来画线时随机选取.
#include <stdlib.h>
#include <qwidget.h>
#include <qapplication.h>
#include <qpainter.h>
#include <qpoint.h>
#include <qcolor.h>
const int MAXPOINTS = 2000;
const int MAXCOLORS = 40;


class ConnectWidget:public QWidget
{ 
 	public:   
 	
	ConnectWidget(QWidget *parent = 0, const char *name= 0);    		~ConnectWidget(); 
 
	protected:    
	
	void paintEvent(QPaintEvent *); 
   	void mousePressEvent(QMouseEvent *);   
	void mouseReleaseEvent(QMouseEvent *);   
	void mouseMoveEvent(QMouseEvent *);



	private:    
	QPoint *points;    
	QColor *colors;    
	int count;    
	bool down;
};




ConnectWidget::ConnectWidget(QWidget *parent, const char *name)
	  :QWidget(parent,name)


{  
	setBackgroundColor(white);
	count = 0;  
	down = FALSE;  
	points = new QPoint[MAXPOINTS];  
	colors = new QColor[MAXCOLORS];
	for (int i = 0 ; i
	colors[i] = QColor(rand()&255, rand()&255, rand()&255);

};



ConnectWidget::~ConnectWidget()
{ 
	 delete[] points; 
	 delete[] colors;

};


void ConnectWidget::paintEvent(QPaintEvent* )
{  
	QPainter paint(this);  
	for (int i = 0; i1; i++){
	  for (int j= i+1; j    
	    paint.setPen(colors[rand()%MAXCOLORS]);      	    paint.drawLine(points[i], points[j]);    
	}

    }

};


void ConnectWidget::mousePressEvent(QMouseEvent *)
{
  	down = TRUE;  
	count = 0 ;  
	erase();

};

void ConnectWidget::mouseReleaseEvent(QMouseEvent *)
{
	down = FALSE;
	update(); 

};


void ConnectWidget::mouseMoveEvent(QMouseEvent *e)
{  
	if (down&&count    
	QPainter paint(this);
    	points[count++] = e->pos();  
	paint.drawPoint(e->pos());  
}  

};





int main(int argc, char *argv[])
{  
	QApplication a(argc, argv);  
	ConnectWidget connect;
	a.setMainWidget(&connect);  
	connect.show();  
	return a.exec(); 
 }






⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -