91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 6KB
    文件類型: .zip
    金幣: 2
    下載: 2 次
    發布日期: 2021-06-08
  • 語言: 其他
  • 標簽: qt??畫樹??

資源簡介

用qt的技術來實現畫樹的功能,主要使用QPainter painter(this);里面的方法來實現的畫樹功能。 思想是從最后的一列的葉子節點開始畫,一直畫到根節點。

資源截圖

代碼片段和文件信息

#include?“DrawTree.h“
#include?“Comm.h“

const?QSize?rect_size(16030);
const?int?Line_width(60);
const?int?Line_height(3);
const?int?padding_top(10);
const?int?padding_right(10);

const?int?height_interval(10);



DrawTree::DrawTree(QWidget?*parent)?:?QWidget(parent)
{
????rect_wid_size?=?3;
}

DrawTree::DrawTree(int?rect_wid_size?int?rect_height_size?QWidget?*parent)
{
????this->rect_wid_size?=?rect_wid_size?;
????this->rect_height_size?=?rect_height_size?;
}


void?DrawTree::paintEvent(QPaintEvent?*event)
{
????Q_UNUSED(event);
????QPainter?painter(this);
????//?反走樣
????painter.setRenderHint(QPainter::Antialiasing?true);
????painter.setBrush(Qt::NoBrush);
????//?設置字體:微軟雅黑、點大小50、斜體
????QFont?font;
????font.setFamily(“Microsoft?YaHei“);
????font.setPointSize(10);
//????font.setItalic(true);
????painter.setFont(font);

//????drawXTree(&painter);
????drawXTree1(&painter);
}


void?DrawTree::drawXTree(QPainter?*painter)
{
????//?設置畫筆顏色、寬度
????painter->setPen(QPen(QColor(0?160?230)?2));

????HS_Debug<<“width():??“<????int?wid?=?width()?-?padding_right;
????HS_Debug<<“width:??“<????for(int?i?=0?;?i?????????int?point_x?=?wid?-?rect_size.width()*(i+1)?-?Line_width*i;
????????double?point_line_y?=?padding_top?+?rect_size.height()?/2;
????????QRectF?rect1?(?point_x?padding_top?rect_size.width()rect_size.height()???);

????????painter->drawRect(?rect1???);
????????painter->drawText(?rect1???Qt::AlignCenter?“test:“+QString::number(i));
????????//?繪制直線
????????if(?i????????????painter->drawLine(QPointF(point_x?point_line_y)?QPointF(point_x-Line_width?point_line_y));
????????}
????}


}

void?DrawTree::drawXTree1(QPainter?*painter)
{

????//?設置畫筆顏色、寬度
????painter->setPen(QPen(QColor(0?160?230)?2));

????int?widthRight?=?width()?-?padding_right;??//畫圖的最右邊
????int?heightTop?=??padding_top;?//畫圖的最上面

????int?point_x?=?0;
????int?point_y?=?0;
????double?point_line_y?=?0;
????QRectF?rect1;
????for(int?i?=0?;?i?????????point_x?=?widthRight?-?rect_size.width()*(i+1)?-?Line_width*i;
????????rect1?=??QRectF(?point_x?point_y?rect_size.width()rect_size.height()???);

????????if(?0?==?i?){
????????????for(?int?j?=0;?j????????????????point_y?=?heightTop+(height_interval+rect_size.height())*j;
????????????????point_line_y?=?point_y?+?rect_size.height()?/2;

????????????????rect1?=??QRectF(?point_x?point_y?rect_size.width()rect_size.height()???);
????????????????painter->drawRect(?rect1???);
????????????????painter->drawText(?rect1???Qt::AlignCenter?“test:“+QString::number(i));
????????????????painter->drawLine(QPointF(point_x?point_line_y)?QPointF(point_x-Line_width/2?point_line_y));
????????????????if(?j?????????????????????painter->drawLine(QPointF(point_x-Line_width/2?point_line_y)
???????????????????????????????????

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????710??2017-09-13?15:27??Comm.h
?????文件????????3992??2017-09-13?17:40??DrawTree.cpp
?????文件?????????613??2017-09-13?17:40??DrawTree.h
?????文件?????????293??2017-09-13?17:40??main.cpp
?????文件??????????77??2017-09-13?19:05??README.md
?????文件?????????400??2017-09-13?15:23??testDrawTree.pro
?????文件???????23477??2017-09-13?14:25??testDrawTree.pro.user
?????文件?????????225??2017-09-13?15:45??Widget.cpp
?????文件?????????195??2017-09-13?14:25??Widget.h

評論

共有 條評論