鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Text文本组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之文本组件

一、操作环境

操作系统:  Windows 10 专业版

IDE:DevEco Studio 3.1

SDK:HarmonyOS 3.1

二、文本组件

Text 是显示文本的基础组件之一,它可以包含子组件 Span ,当包含 Span 时不生效,只显示 Span 的内容。

Text('我是Text') {
  Span('我是Span')
}
.padding(10)
.borderWidth(1)

0

T ext括号直接书写内容即可,下面是代码和示意图:

Text("Hello, 亚丁号")

        Text('Hello, 亚丁号')
          .width('100%')
          .textAlign(TextAlign.Center)

        Text('Hello, 亚丁号, Hello, 亚丁号, Hello, 亚丁号, Hello, 亚丁号')
          .maxLines(1)
          .textOverflow({overflow: TextOverflow.Ellipsis})

运行的示意图:

Text控件主要是继承了组件的公共属性和事件,这里不一一赘述。        

控件的部分公共属性和事件:

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)控件的部分公共属性和事件-CSDN博客

 Text还有一 些非公共的属性:

textAlign:设置文本的对其方式,对齐参考系是 Text 组件本身,只有 Text 组件本身的宽度大于文本内容长度, textAlign 属性才起作用, TextAlign 定义了以下 3 种类型:

  • Start(默认值):根据文字书写相同的方向对齐,比如中文从左往右排版,那么文本则靠左对齐。

  • Center:文本居中对齐。

  • End:根据文字书写相反的方向对齐,比如中文从左往右排版,那么文本则靠右对齐。

    简单样例如下所示:

Text("Hello, OpenHarmony")
  .backgroundColor('#aabbcc')
  .textAlign(TextAlign.Center) // 宽度等于文本内容长度,textAlign不起作用

Text('Hello, OpenHarmony')
  .backgroundColor('#ccaabb')
  .margin({top: 2})
  .width(200)                  // 宽度大于文本内容长度,textAlign起作用
  .textAlign(TextAlign.End)

Text('Hello, OpenHarmony')
  .backgroundColor('#bbccaa')
  .margin({top: 2})
  .width('100%')               // 宽度大于文本内容长度,textAlign起作用
  .textAlign(TextAlign.Center)

maxLinestextOverflow:设置文本显示的最大行数和截取方式,默认折行显示不截取,如果设置了此参数,则文本最多显示到指定的行,如果有多余的文本,可以通过 textOverflow 来指定截取方式,本样例的截断方式是 Ellipsis ,它将截断后的文本用 "..." 表示。

Text('Hello, OpenHarmony, Hello, OpenHarmony, Hello, OpenHarmony, Hello, OpenHarmony')
Text('Hello, OpenHarmony, Hello, OpenHarmony, Hello, OpenHarmony, Hello, OpenHarmony')
  .margin({top: 5})
  .maxLines(1)
  .textOverflow({overflow: TextOverflow.Ellipsis})

fontSizefontColorfontStyle、 fontWeight:分别表示设置文字的大小,颜色,样式以及粗细,我们可以组合起来设置文本的富样式,先看一个样例:

Text('Hello, OpenHarmony')

Text('Hello, OpenHarmony')
  .fontSize(20)
  .fontColor('#ff0000')
  .fontWeight(FontWeight.Bold)
  .fontStyle(FontStyle.Italic)
  .decoration({type: TextDecorationType.Underline, color: Color.Black})

 

好了就写到这吧!

你有时间常去我家看看我在这里谢谢你啦...

我家地址:亚丁号

最后送大家一首诗:

山高路远坑深,
大军纵横驰奔,

谁敢横刀立马?
惟有点赞加关注大军。

  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在Qt编程中,QTreeWidget是一个用于显示树形数据的控件,它本身继承自QTreeView,并增加了对树形节点的编辑和展开/折叠等功能支持。在使用QTreeWidget时,我们有时需要修改树形节点中文字的对齐方式,将其设置为居左,从而更好地展示节点的信息。 要实现QTreeWidget的文字居左,需要通过代码来设置。具体的实现方式如下: 1. 首先获取QTreeWidget控件的根节点,可以使用QTreeWidget的函数invisibleRootItem(); 2. 然后通过根节点的childCount()函数获取所有的子节点数量; 3. 遍历所有的子节点,将它们的文本设置为居左,可以使用QTreeWidgetItem的setTextAlignment()函数来实现,其中参数Qt::AlignLeft表示文字居左; 4. 最后需要调用QTreeWidget的函数viewport()->update()来更新控件,以便让文字居左的效果生效。 下面是一个示例代码,用于将QTreeWidget中所有节点的文字设置为居左: ```c++ QTreeWidgetItem *root = ui->treeWidget->invisibleRootItem(); int childCount = root->childCount(); for(int i=0; i<childCount; i++) { QTreeWidgetItem *child = root->child(i); child->setTextAlignment(0, Qt::AlignLeft); //第一个参数表示列号,这里为0 } ui->treeWidget->viewport()->update(); ``` 通过以上代码,QTreeWidget的所有节点的文字就会被设置为居左对齐了。需要注意的是,如果在设计器中设置了某个节点的文字对齐方式,那么代码中的修改可能会被覆盖,所以最好在代码中通用地设置,以避免不必要的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亚丁号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值