Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 写入项目符号和数字文本GTKTextView_Linux_Gtk - Fatal编程技术网

Linux 写入项目符号和数字文本GTKTextView

Linux 写入项目符号和数字文本GTKTextView,linux,gtk,Linux,Gtk,如何在Linux工作环境中使用GTKTextView添加项目符号和编号。首先从阅读开始 然后我认为你需要结合一些创造性(格式化文本) 这都是假设您需要项目符号/编号列表。所以,我需要的正是这些,并实现了它。我是这样做的 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_tabl

如何在Linux工作环境中使用GTKTextView添加项目符号和编号。

首先从阅读开始

然后我认为你需要结合一些创造性(格式化文本)


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

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

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(
>k::TextTagBuilder::new()
.名称(“列表项”)
.缩进(-14)
.左边距(14)
.wrap_模式(gtk::WrapMode::Word)
.tabs(&tab_ar)
.build(),
);
(这是rust,但在其他语言中类似)

要添加新项目符号,您需要在文本视图中插入“1.\titem”或“•\titem”(\t为制表符),并带有“列表项”标记

解释如下:

  • 缩进仅适用于项目符号的第一行,如果项目符号的文本被包装在多行上,则缩进不适用于以下行。在这种情况下,我们设置负缩进。这意味着第一条线将与下面的包裹线相比向左偏移。我们将使用负偏移量来放置项目符号或项目符号编号
  • 左边距适用于项目符号的所有行,包括包裹的行。因此,整个项目符号文本将移至右侧
  • 我们指定两个选项卡:第一个在0px,第二个在14px。这意味着当我们把文本“1.\titem”,“1.”放在最左边时,“item”将从14px开始
  • 把这些放在一起

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

    在截图中。。。蓝色是边距,红色是缩进,绿色是第二个选项卡。你可以看到一切都排得很好


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

    我想我的N900上有一个应用程序,它使用带有项目符号列表的GtkTextWidget。但我还没看过来源。对于子弹本身,我认为可以使用普通字符。与GtkTextTag一起,您可以相应地格式化项目符号和列表项。祝你好运非常感谢。环绕文字的缩进与项目符号相同,这让我抓狂,正如你所说,缩进只适用于行的开头。负缩进成功了!