QT4中的类QRegion实例

例程:
#include <QApplication>
#include <QWidget>
#include <QPainter>
#include <QRegion>
class MyMainWindow:public QWidget
{
public:
MyMainWindow(QWidget *parent = 0);
private:
void paintEvent(QPaintEvent *);
QPainter *paint;
};
void MyMainWindow::paintEvent(QPaintEvent *) //paintEvent函数由系统自动调用,用不着我们人为的去调用。
{
QRegion r1(QRect(100, 100, 200, 80),QRegion::Ellipse); // r1: elliptic region
QRegion r2(QRect(100, 120, 90, 30)); // r2: rectangular region
QRegion r3 = r1.intersected(r2); // r3: intersection
paint=new QPainter;
paint->begin(this);
paint->setPen(QPen(Qt::blue,4,Qt::DashLine)); //设置画笔形式
paint->setBrush(QBrush(Qt::red,Qt::SolidPattern)); //设置画刷形式
paint->setClipRegion(r3); // paint clipped graphics
paint->drawRect(QRect(100,100,200,80));
paint->drawRect(QRect(100,120,90,30));
paint->end();
}
MyMainWindow::MyMainWindow(QWidget *parent):QWidget(parent)
{
setGeometry(100,100,300,300);
}
int main(int argc,char **argv)
{
QApplication a(argc,argv);
MyMainWindow w;
w.show();
return a.exec();
}

文章出处:DIY部落(http://www.diybl.com/course/3_program/c++/cppjs/20090825/171744.html)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值