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

📄 draw.cpp

📁 《Linux程序设计权威指南》一书qt下的源码
💻 CPP
字号:
#include "draw.h"#include <qpainter.h>#include <qbrush.h>#include <qtextcodec.h>DrawDemo::DrawDemo( QWidget *parent, const char *name )    : QWidget( parent, name ){	setBackgroundColor( white );}DrawDemo::~DrawDemo(){}void DrawDemo::drawPrimitives(QPainter *p){	QBrush b1( Qt::blue );	QBrush b2( Qt::green, Qt::Dense6Pattern );	QBrush b3( Qt::NoBrush );	QBrush b4( Qt::CrossPattern );	//红色	p->setPen( Qt::red );	p->setBrush( b1 );	p->drawRect( 10, 10, 200, 100 );	//红色, 图案	p->setBrush( b2 );	p->drawRoundRect( 10, 120, 200, 100, 20, 20 );	//缺省	p->setBrush( b3 );	p->drawEllipse( 10, 240, 200, 100 );	//图案	p->setBrush( b4 );	p->drawPie( 10, 360, 200, 100, 45*16, 90*16 );}void DrawDemo::drawStrings(QPainter *p){	static const char *fonts[] = { "Helvetica", "Courier", "Times", 0 };	static int   sizes[] = { 12, 14, 16, 24, 36, 0 };	int f = 0;	int y = 0;	p->setPen( Qt::blue );	while ( fonts[f] ) {		int s = 0;		while ( sizes[s] ) {			//设置字体			QFont font( fonts[f], sizes[s] );			p->setFont( font );			//取字体属性			QFontMetrics fm = p->fontMetrics();			y += fm.ascent();			p->drawText( 250, y, tr("如何看待GPL软件?") );			y += fm.descent();			s++;		}		f++;	}}//当需要绘制时激活void DrawDemo::paintEvent( QPaintEvent * ){	QPainter paint( this );	//画图元	drawPrimitives( &paint );	//画字符串	drawStrings( &paint );}

⌨️ 快捷键说明

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