假设我们有一个功能classes_init.它接收列表或其他类型的信息,用于初始化不同类型的类的许多实例,例如:
["spam", 24]
["eggs", 10]
["bacon", 20]
...
Run Code Online (Sandbox Code Playgroud)
这些列表的索引0表示它应该是什么类型的类.我发现初始化特定类的实例的最佳方法是通过以下方式:
def classes_init(xlists):
classlist = list()
if xlists[0] == "spam":
classlist.append(Spam(number=xlists[1]))
elif xlists[0] == "eggs":
classlist.append(Eggs(number=xlists[1]))
elif xlists[0] == "bacon":
classlist.append(Bacon(number=xlists[1]))
... and so on ...
Run Code Online (Sandbox Code Playgroud)
有更有效的方法吗?这是很多重复,所以它几乎肯定意味着这是一种错误的方法.
我一直在尝试找到在Python GObject中与Gtk.TextView和一起使用Pango标记的方法,但似乎此功能仅适用于工具提示和标签。具有方法,但需要作为输入,并且必须具有指定的长度。Gtk.TextBufferGtk.TextBufferinsert_markupGtk.TextIter
这里的问题是我只想Gtk.TextView显示文本而不能编辑。因此,尽管我认为我了解您如何使用Gtk.TextTag可编辑/可选文本来实质性地更改其外观(甚至行为),但我不确定完全如何处理静态文本。对此类应用标记的最简单方法是什么?
例如:将“ <b>某些文本</ b>”转换为“ 某些文本 ”(或使用哪个标签)