首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编写项目符号和数字文本GTKTextView

编写项目符号和数字文本GTKTextView
EN

Stack Overflow用户
提问于 2010-10-13 20:11:33
回答 2查看 566关注 0票数 4

如何在Linux工作环境下使用GTKTextView添加项目符号和数字?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-13 20:36:40

首先从阅读Text Widget Overview开始

然后,我认为您需要将GtkTextTag (用于格式化文本)与一些创造性结合起来。

这都是假设您想要项目符号/编号列表。

票数 1
EN

Stack Overflow用户

发布于 2020-08-07 04:12:07

所以,我正是需要它,并实现了它。我是这样做的..

代码语言:javascript
复制
    let mut tab_ar = pango::TabArray::new(2, true);
    tab_ar.set_tab(0, pango::TabAlign::Left, 0);
    tab_ar.set_tab(1, pango::TabAlign::Left, 14);
    tag_table.add(
        &gtk::TextTagBuilder::new()
            .name("list_item")
            .indent(-14)
            .left_margin(14)
            .wrap_mode(gtk::WrapMode::Word)
            .tabs(&tab_ar)
            .build(),
    );

(这是rust,但在其他语言中也类似)

要添加新项目符号,可以在文本视图中插入带有"list_item“标记的"1.\titem”或“·\titem”(\t为制表符)。

以下是解释:

如果项目符号的文本在多行中换行,则

  1. 缩进仅适用于项目符号的第一行,而不适用于以下行。在这种情况下,我们设置了一个负的缩进。这意味着与后面的换行相比,第一行将向左偏移。我们将使用该负偏移量来放置项目符号或项目符号编号。
  2. left margin将应用于项目符号的所有行,包括换行。因此整个项目符号文本被移到右边,我们指定了两个制表符:第一个是0px,第二个是14px。意思是当我们把文本"1.\titem","1.“将在完整的左侧,"item“将从14px

开始

把所有这些放在一起。

项目符号的第一行从水平偏移14px (左边距) -14px (缩进) => 0px开始。我们把“1”放在那里。然后有一个\t,所以我们移动到偏移量14px。然后文本换行。在第二行(如果项目符号不能放在一行上),文本从14px (左边距)开始。缩进不适用。所以我们停留在14px。

在截图中。蓝色是页边距,红色是缩进,绿色是第二个制表符。你可以看到所有的东西都排列得很好。

为了100%安全,最好测量“1”的宽度。为了安全起见,添加一些百分比,然后使用此偏移量而不是14px,以防用户有更大的字体或类似的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3923436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档