【Qt5开发及实例】19、一个简单的画图程序

本文介绍了一个使用Qt5开发的简单画图程序,重点讲解了Qt的双缓冲技术,详细阐述了设计目标和步骤,包括绘图区的实现(如设置调色板、画笔属性、图片绘制及画布大小调整)以及主窗体的绘制(如初始化参数、创建工具栏、风格展示和颜色设置)。通过这个程序,读者可以理解如何在Qt中创建一个交互式的鼠标画图应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个简单的画图程序

Qt的双缓冲

双缓冲就是在绘制控件的时候,首先把要绘制的内容放到一个图片上,然后再将图片一次性画到控件上

 

设计目标

 

 

设计步骤

 

1、绘图区的实现

 

首先我们在绘图区会有画各种图形,用鼠标来画的话,那么就会有鼠标点击事件,鼠标移动事件,重绘控件事件,绘制的时候有画笔,画笔的风格,宽度,颜色。。。

 

Qt中的setPalette函数具体是什么作用?解释一下这句话 setPalette(QPalette( QColor(250, 250, 200)));

 

QColor( 250, 250, 200)会生成一个QColor对象作为QPalette构造参数
这个函数的作用是为当前窗口构建一个调色板,它的button颜色为QColor( 250, 250, 200),其他的颜色是基于这个颜色自动的计算,Wondow也是button颜色。

 

所有Qt窗口部件都拥有一个调色板并使用它绘制自己.通常,活动状态的窗口标题栏为蓝色的,而非活动(inactive)状态的窗口的标题栏显示为灰色的;活动状态的窗口和非活动状态的窗口都可以包含状态为不可用的窗口不见,一个不可用的窗口不见(包括该窗口不见包含的子窗口部件)显示为灰色的,用户是无法同它进行交互的.通过改变窗口不见的调色板的各个组中的颜色,能够改变窗口不见的显示颜色,比如改变背景色,文本颜色等.

QPalete::Window,通常指窗口部件的背景色;
QPalette:WindowText,通常指窗口不见的前景色;
QPalette::Base,指文本输入窗口部件(比如QtextEdit,QLinedit等)的背景色.
QPalette::Text,与QPalette::Base一块使用,指文本输入窗口部件的前景色;
QPalette::Button,指按钮窗口部件的背景色;
QPalette::ButtonText,指按钮窗口部件的前景色.

 

1、首先我们构造函数就是设置一下我们先在你图片上画的那个图片

DrawWidget::DrawWidget(QWidget*parent):

  QWidget(parent)

{//构造函数

  setAutoFillBackground(true);    //自动设定背景颜色

  setPalette(QPalette(Qt::white));      //设置调色板的颜色为白色

  pix=newQPixmap(size());    //这个pixmap对象用来接受准备绘制到空间的内容

  pix->fill(Qt::white);     //填充这个图片的背景是白色

  setMinimumSize(600,400);     //设置绘图区域窗体的最小大小

 

}


 

2、然后首先确定画笔的各个属性

                
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值