最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Qt5.9實(shí)現(xiàn)簡(jiǎn)單復(fù)合圖形

 更新時(shí)間:2020年07月20日 17:18:06   作者:比卡丘不皮  
這篇文章主要為大家詳細(xì)介紹了Qt5.9實(shí)現(xiàn)簡(jiǎn)單復(fù)合圖形,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Qt5.9實(shí)現(xiàn)簡(jiǎn)單復(fù)合圖形的具體代碼,供大家參考,具體內(nèi)容如下

畫圖處理的簡(jiǎn)單復(fù)合圖形,話不多說(shuō),先上圖吧:

對(duì)應(yīng)的頭文件;

#ifndef WIDGET_H
#define WIDGET_H
 
#include <QWidget>
 
namespace Ui {
class Widget;
}
 
class Widget : public QWidget
{
 Q_OBJECT
protected:
 void paintEvent(QPaintEvent *event);
public:
 explicit Widget(QWidget *parent = nullptr);
 ~Widget();
 
private:
 Ui::Widget *ui;
};
 
#endif // WIDGET_H

對(duì)應(yīng)的cpp 文件為:

#include "widget.h"
#include "ui_widget.h"
#include <QPainter>
void Widget::paintEvent(QPaintEvent *event)
{
 Q_UNUSED(event)
 QPainter painter(this);
 
 int W = width();
 int H = height();
 
 int side = qMin(W,H); //去長(zhǎng)和寬的小值
 QRect rect((W -side)/2,(H-side)/2,side,side); //viewport矩形區(qū)
 painter.drawRect(rect); //Viewport大小
 // painter.setViewport((W-side)/2, (H-side)/2,side,side);//設(shè)置Viewport,物理坐標(biāo)范圍
 painter.setViewport(rect); //設(shè)置Viewport
 painter.setWindow(-100,-100,200,200); // 設(shè)置窗口大小,邏輯坐標(biāo)
 
 painter.setRenderHint(QPainter::Antialiasing); //設(shè)置反走樣
 
 //設(shè)置畫筆
 QPen pen;
 pen.setWidth(1); //線寬
 pen.setColor(Qt::red); //畫線顏色
  //Qt::NoPen,Qt::SolidLine, Qt::DashLine, Qt::DotLine,Qt::DashDotLine,Qt::DashDotDotLine,Qt::CustomDashLine
 pen.setStyle(Qt::SolidLine); //線的類型
 //Qt::FlatCap, Qt::SquareCap,Qt::RoundCap
 pen.setCapStyle(Qt::FlatCap);//線端點(diǎn)樣式
 //Qt::MiterJoin,Qt::BevelJoin,Qt::RoundJoin,Qt::SvgMiterJoin
 pen.setJoinStyle(Qt::BevelJoin);//線的連接點(diǎn)樣式
 painter.setPen(pen);
 //線性漸變
 
 QLinearGradient linearGrad(0,0,100,0);//從左到右,
 linearGrad.setColorAt(0,Qt::yellow); //起點(diǎn)顏色
 linearGrad.setColorAt(1,Qt::green); //終點(diǎn)顏色
 linearGrad.setSpread(QGradient::PadSpread);//展布模式
 painter.setBrush(linearGrad);
 //設(shè)置復(fù)合
 painter.setCompositionMode(QPainter::CompositionMode_Difference);
 
 for (int i = 0;i < 36;i++) {
  painter.drawEllipse(QPoint(50,0),50,50);
  painter.rotate(10);
 }
 
}
 
Widget::Widget(QWidget *parent) :
 QWidget(parent),
 ui(new Ui::Widget)
{
 ui->setupUi(this);
 setPalette(QPalette(Qt::white));
 setAutoFillBackground(true);
 this->resize(300,300);
}
 
Widget::~Widget()
{
 delete ui;
}

在上面的程序中 ,對(duì)單個(gè)圓使用了線性漸變填充,單個(gè)圓從左到右 ,由黃色漸變?yōu)榫G色。

使用 QPainter: :setCompositionMode() 函數(shù)設(shè)置組合模式,即后面繪制的圖與前面繪制的圖的疊加模式 。

這樣就可以畫出比較炫酷的圖像了。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • c語(yǔ)言中十進(jìn)制轉(zhuǎn)二進(jìn)制顯示小工具的實(shí)現(xiàn)代碼

    c語(yǔ)言中十進(jìn)制轉(zhuǎn)二進(jìn)制顯示小工具的實(shí)現(xiàn)代碼

    本篇文章是對(duì)c語(yǔ)言中十進(jìn)制轉(zhuǎn)二進(jìn)制顯示小工具的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析的介紹,需要的朋友參考下
    2013-05-05
  • C++類的靜態(tài)成員初始化詳細(xì)講解

    C++類的靜態(tài)成員初始化詳細(xì)講解

    通常靜態(tài)數(shù)據(jù)成員在類聲明中聲明,在包含類方法的文件中初始化.初始化時(shí)使用作用域操作符來(lái)指出靜態(tài)成員所屬的類.但如果靜態(tài)成員是整型或是枚舉型const,則可以在類聲明中初始化
    2013-09-09
  • 利用C語(yǔ)言結(jié)構(gòu)體實(shí)現(xiàn)通訊錄

    利用C語(yǔ)言結(jié)構(gòu)體實(shí)現(xiàn)通訊錄

    這篇文章主要為大家詳細(xì)介紹了利用C語(yǔ)言結(jié)構(gòu)體實(shí)現(xiàn)通訊錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • C/C++中的OpenCV讀取視頻與調(diào)用攝像頭

    C/C++中的OpenCV讀取視頻與調(diào)用攝像頭

    這篇文章主要介紹了C/C++中的OpenCV讀取視頻與調(diào)用攝像頭,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2022-11-11
  • 使用C語(yǔ)言編寫一個(gè)關(guān)機(jī)惡搞小程序

    使用C語(yǔ)言編寫一個(gè)關(guān)機(jī)惡搞小程序

    system函數(shù)的參數(shù)是"shutdown"時(shí),它將會(huì)執(zhí)行系統(tǒng)的關(guān)機(jī)命令,所以本文將利用這一特點(diǎn)制作一個(gè)關(guān)機(jī)惡搞小程序,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • C語(yǔ)言實(shí)現(xiàn)掃雷小游戲簡(jiǎn)單版

    C語(yǔ)言實(shí)現(xiàn)掃雷小游戲簡(jiǎn)單版

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)掃雷小游戲簡(jiǎn)單版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C++深入講解哈夫曼樹(shù)

    C++深入講解哈夫曼樹(shù)

    給定N個(gè)權(quán)值作為N個(gè)葉子結(jié)點(diǎn),構(gòu)造一棵二叉樹(shù),若該樹(shù)的帶權(quán)路徑長(zhǎng)度達(dá)到最小,稱這樣的二叉樹(shù)為最優(yōu)二叉樹(shù),也稱為哈夫曼樹(shù)(Huffman Tree)。哈夫曼樹(shù)是帶權(quán)路徑長(zhǎng)度最短的樹(shù),權(quán)值較大的結(jié)點(diǎn)離根較近
    2022-05-05
  • C++使用jsoncpp解析json的方法示例

    C++使用jsoncpp解析json的方法示例

    這篇文章主要介紹了C++使用jsoncpp解析json的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • C++ 實(shí)現(xiàn)哈希表的實(shí)例

    C++ 實(shí)現(xiàn)哈希表的實(shí)例

    這篇文章主要介紹了C++ 實(shí)現(xiàn)哈希表的實(shí)例的相關(guān)資料,這里使用C++實(shí)現(xiàn)哈希表的實(shí)例幫助大家徹底理解哈希表的原理,需要的朋友可以參考下
    2017-08-08
  • C/C++?for?語(yǔ)句的要點(diǎn)與注意事項(xiàng)小結(jié)

    C/C++?for?語(yǔ)句的要點(diǎn)與注意事項(xiàng)小結(jié)

    C/C++ 中的?for?語(yǔ)句是一種常用的循環(huán)結(jié)構(gòu),用于重復(fù)執(zhí)行一段代碼,直到滿足某個(gè)條件為止,這篇文章主要介紹了C/C++?for?語(yǔ)句的要點(diǎn)與注意事項(xiàng),需要的朋友可以參考下
    2024-06-06

最新評(píng)論

鄂伦春自治旗| 娄烦县| 五莲县| 谢通门县| 花莲县| 鄂尔多斯市| 大丰市| 盐城市| 桐庐县| 永济市| 奎屯市| 双流县| 周宁县| 扎赉特旗| 家居| 湄潭县| 福鼎市| 特克斯县| 毕节市| 肇东市| 玉树县| 修武县| 台中县| 长寿区| 和林格尔县| 彝良县| 永和县| 兴安县| 文安县| 荆州市| 通道| 肥西县| 金阳县| 灵寿县| 玉环县| 武鸣县| 油尖旺区| 安图县| 临武县| 泸西县| 博客|