Qt--绘图

学习目标:

  • 了解Qt的绘图

学习内容:

1.Qt绘图机制

qt中的所有的图都是画出来的 例如我们的按钮 窗口 标签上的图画图需要两个东西:

画家:

QPainter

画板:中间的那个是编译过程

QPaintDevice(常见的控件 按钮 label 窗口...)

2.绘图

18void Widget::paintEvent(QPaintEvent *event)
19 {
20
21//绘图一定需要在这个函数中绘图
22//画家
23QPainter p(this);//定义一个画家 并且制定了绘图设备
24p.drawPixmap(0,0,this‐>width(),this‐
>height(),QPixmap("../Image/bk.jpg"));
25QPen pen;// 定义一支笔
26pen.setWidth(5);
27pen.setColor(QColor(Qt::red));//设置笔的颜色
28//将笔给到画家
29p.setPen(pen);
30	p.drawLine(50,50,300,300);//画线
31	p.drawEllipse(0,0,this‐>width(),this‐>height());
32 }
1void Widget::paintEvent(QPaintEvent *e)
2 {
3qDebug()<<"in paintEvent"<<"recet"<<e‐>rect(); //得到需要重新绘制的区域
4QPainter paint(this); //定义画家(请了一个画家来画画),画在主窗口上
5//画家画图片,作为背景图片
6paint.drawPixmap(0,0,this‐>width(),this‐>height(),
7QPixmap("../Image/bk.jpg"));
8QPen pen; //定义一只画笔
9pen.setColor(QColor(255,0,255)); //设置画笔的颜色
10pen.setWidth(5); //设置画笔的宽度
11pen.setStyle(Qt::DashDotLine); //设置画笔线条的风格
12paint.setPen(pen); //画家使用这只画笔
13paint.drawLine(30,30,500,30);//画家画水平的线条
14paint.drawLine(30,30,30,500);//画家画垂直的线条
15pen.setColor(Qt::yellow);//设置画笔的颜色
16pen.setStyle(Qt::SolidLine);//设置画笔线条的风格
17pen.setWidth(3);//设置线条的宽度
18paint.setPen(pen);//画家使用这只画笔
19QBrush brush(Qt::blue);//定义一把蓝色的画刷
20brush.setStyle(Qt::DiagCrossPattern);//设置画刷的风格
21paint.setBrush(brush);//画家使用这把画刷
22 paint.drawRect(50,50,150,200);//画家画矩形
23paint.setPen(QPen());
24paint.setBrush(QBrush(QColor(255,187,255),Qt::Dense3Pattern));
25paint.drawEllipse(280,60,180,250);//画家画椭圆
26 }

运行结果:


学习产出:

  • 技术笔记 x1
  • CSDN 技术博客 1 篇
  • 学习的 vlog 视频 x1
Qt是一款跨平台的图形用户界面开发框架,提供了丰富的GUI控件和功能以及跨平台的能力。PyQt和PySide是在Qt基础上开发的Python绑定库,使得我们可以使用Python语言来编写Qt应用程序。 PyQt和PySide提供了和Qt类似的功能和API,使得我们可以方便地在Python中使用Qt的各种特性,如窗口管理、布局管理器、事件处理和信号槽机制等。它们支持Qt的所有模块,因此可以利用Qt的强大功能开发出高度可定制的应用程序。 Custom Widgets是指自定义的用户界面部件,可以根据需求自己进行开发或者对现有的控件进行定制。在PyQt和PySide中,我们可以使用Qt的功能来创建自定义的控件,通过继承已有的控件类来添加新的功能或者修改控件的外观和行为。这样可以满足特定需求并增加应用程序的交互性和美观性。 开发自定义的控件需要理解Qt的事件和绘图机制,掌握Qt提供的绘图功能和控件定制的技术。我们可以使用Qt绘图API来绘制自定义的界面元素,并且可以通过事件和信号槽来实现控件的交互性。在PyQt和PySide中,可以利用Python的特性和语法来更加方便地进行控件的开发和定制。 总之,Qt、PyQt和PySide的结合可以帮助我们快速开发跨平台的应用程序,并且可以通过自定义控件来满足特定需求。这些工具和技术的使用可以大大提高应用程序的开发效率和灵活性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值