qt 实现画树功能
来源:互联网 发布:淘宝正义哥奶粉高仿 编辑:程序博客网 时间:2024/06/08 11:09
先上图片
贴上主要的代码
// 设置画笔颜色、宽度
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 <rect_wid_size; ++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<rect_height_size; ++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 < rect_height_size -1){
painter->drawLine(QPointF(point_x-Line_width/2, point_line_y),
QPointF(point_x-Line_width/2, point_line_y+rect_size.height()+height_interval));
}
}
point_line_y = (point_line_y - padding_top - rect_size.height()/2 ) /2 + padding_top+rect_size.height()/2;
painter->drawLine(QPointF(point_x-Line_width/2, point_line_y), QPointF(point_x-Line_width, point_line_y));
}else{
rect1 = QRectF( point_x, point_line_y - rect_size.height()/2, rect_size.width(),rect_size.height() );
painter->drawRect( rect1 );
painter->drawText( rect1 , Qt::AlignCenter, "test:"+QString::number(i));
// 绘制直线
if( i<rect_wid_size-1 ){
painter->drawLine(QPointF(point_x, point_line_y), QPointF(point_x-Line_width, point_line_y));
}
}
全部代码见: http://download.csdn.net/download/chen136258/9977286
阅读全文
0 0
- qt 实现画树功能
- QT 实现拖放功能
- Qt实现监听功能
- Qt 实现登录功能
- qt实现录音功能
- Qt BUG及功能实现
- QT实现截屏功能
- [Qt] CFlip 翻页功能实现
- QT实现截屏功能
- QT计算器功能的实现
- QT实现用户登录功能
- QT实现截屏功能
- QT实现类似QQ截图功能(二):画箭头
- 【Qt】Qt 导出 PDF,Android和Qt截图功能实现
- 用QT实现Windows定时关机功能
- 在Qt 中实现Sleep的功能
- QT Gui程序中实现 sleep功能
- 对Qt插件功能实现的理解
- 论文笔记——CVPR 2017 Dilated Residual Networks
- hihocoder 1033 交错和 (数位dp)
- JavaScript中的Dom
- 如何在Ubuntuh环境下配置Android NDK
- Color Length UVA
- qt 实现画树功能
- IDEA使用maven的进行mybatis的逆向工程
- MySQL数据库引擎详解
- JAVA设计模式总结
- CSS3动画(360度旋转、旋转放大、放大、移动)
- unity学习——协程的停止StopCoroutine
- 八皇后问题的解和动态演示过程
- “一致性”架构设计
- 深度学习caffe平台-----视觉层(Vision Layers)参数及参数详解