当前位置: 首页 > news >正文

用腾讯云做购物网站视频优化网站的目的

用腾讯云做购物网站视频,优化网站的目的,行业门户网站建设方案书,成都公司注册多少钱概述 之前介绍TextLine和TextParagraph的时候,提到了用制表符和设定列宽形式来绘制简易表格,但是很明显,单纯使用此种方式很难获得对表格的精确控制。 所以对于表格绘制问题,我决定单独开坑,单独深入研究。 目前比较…

概述

之前介绍TextLineTextParagraph的时候,提到了用制表符和设定列宽形式来绘制简易表格,但是很明显,单纯使用此种方式很难获得对表格的精确控制。

所以对于表格绘制问题,我决定单独开坑,单独深入研究。

目前比较好的方式就是:

  • 将表格数据储存为一个二维数组
  • 设定列宽
  • 然后通过遍历每个单元格数据,来构造单独的TextLineTextParagraph实例,并通过列宽设定动态计算和绘制

系列目录

  • 0.概述
  • 1.绘制简单图形
  • 2.设定绘图变换
  • 3.绘制纹理
  • 4.绘制样式盒
  • 5.绘制字符和字符串
  • 6.TextLine和TextParagraph详解
  • 7.自定义节点TextBoard
  • 8.绘制点索引
  • 9.绘制表格

初期测试代码

以下为我初步测试的代码:

# =======================================================
# 使用绘图函数绘制表格 - 测试1
# 巽星石
# 202441218:30:24   Godot 4.2.1
# =======================================================
extends Node2Dvar font = ThemeDB.fallback_fontvar col_widths := [50,60,60,200]           # 列宽
var data = [["序号","姓名","性别","年龄"],["1","张三","男","32"],["2","李四","男","33"],["3","王五","男","34"],["4","巽星石","男","34000000000000000000"],["5","翼星石","男","34000000000000000000"],["6","羿星石","男","34000000000000000000"],["7","粪星石","男","34000000000000000000"],["8","龚星石","男","34000000000000000000"],
]var line_height := 20.0                    # 行高
#var col_widths := [50,60,60,200]           # 列宽
var pos := Vector2(100,100)                # 绘制位置 - 表格左上角点
var bg_color:= Color.WHITE                 # 背景色
var th_bg_color:= Color.AQUAMARINE         # 表头背景色
var font_color:= Color.BLACK               # 字色
var border_color:= Color.DARK_GRAY         # 边框色
var padding := 5                           # 内边距# 计算前几列的累计宽度
func cols_width(col:int):var w:floatfor i in range(col):w += col_widths[i] + padding * 2return wfunc _ready() -> void:line_height += padding * 2func _draw() -> void:var width = cols_width(col_widths.size())var height = line_height * data.size()# 背景矩形var rect = Rect2(pos,Vector2(width,height))draw_rect(rect,bg_color)# 表头矩形var rect2 = Rect2(pos,Vector2(width,line_height))draw_rect(rect2,th_bg_color)draw_line(pos,pos + Vector2(width,0),border_color,1)  # 顶部线for l in  range(data.size()): # 遍历数据行for i in range(data[l].size()): # 遍历数据列# 构造TextLinevar text = TextLine.new()text.add_string(data[l][i],font,16)text.width = col_widths[i]text.alignment = HORIZONTAL_ALIGNMENT_CENTER# 绘制text.draw(get_canvas_item(),pos + Vector2(cols_width(i) + padding,(line_height) * l + padding),font_color)draw_line(pos+Vector2(0,line_height * (l+1)),pos + Vector2(cols_width(col_widths.size()),line_height * (l+1)),border_color,1)# 绘制竖线for i in range(col_widths.size()+1):var a1 = pos +Vector2(cols_width(i),0)var a2 = a1 + Vector2(0,line_height * data.size())draw_line(a1,a2,border_color,1)

绘制的效果:

image.png

可以看到已经实现了基本的内边距、单元格文本对齐设定以及整体的表格渲染功能。

后续展望

  • 后续将可能在目前工作的基础上编写表格绘制函数,并采用二维数组多行文本两种数据存储和解析形式
  • 将可能创建带有单元格合并以及斜线等特殊样式的表格
  • 可能会提供奇数、偶数行差异背景样式
  • 可能实现基于鼠标的交互,包括定位单行文本框控件LineEdit来编辑数据以及动态设定列宽
  • 在单元格中进行图文混排
http://www.dinnco.com/news/37602.html

相关文章:

  • 红酒网站建设方案范本软文广告代理平台
  • 珠海网站制作百度在线下载
  • 网站口碑推广安徽网站关键词优化
  • 做招标网站 如何南昌百度推广联系方式
  • 做直播网站一定要idc吗南京疫情最新情况
  • 包装设计图南京seo按天计费
  • 做正规小说网站有哪些上海空气中检测出病毒
  • 石岩网站建设培训机构优化
  • 设备租赁网站建设自动优化app
  • wordpress query vars南京怎样优化关键词排名
  • 网络营销成功的案例有哪些北京网络seo
  • wordpress 删除文章灰色seo关键词排名
  • 高埗镇网站建设郑州百度推广托管
  • 企业网站代码百度推广广告收费标准
  • 微信微网站开发价格seo推广沧州公司电话
  • 珠海网站开发企业网络营销策划书
  • 做网站前端用什么软件今日国际新闻大事件
  • 校园微网站建设方案ppt免费个人网站源码
  • 泰安网站制作排行重庆seo网站排名
  • 石河子网站制作微平台推广
  • 网站的客服一般怎么做怎么才能让百度收录网站
  • 影视网站代理google浏览器官网
  • 以下不属于网站建设优化免费大数据网站
  • 淄博学校网站建设哪家好百度在线问答
  • 网站怎么做响应式布局91关键词排名
  • 仿xss网站搭建徐州网页关键词优化
  • 邢台做wap网站的公司宁波seo外包服务
  • 做问卷调查赚钱的网站百度推广效果怎样
  • 建网站需要身份证吗黄冈网站推广软件
  • 国外建设网站的软件360搜索引擎入口