gtk_label_set_markup
时间: 2023-07-17 07:59:23 浏览: 80
gtk_label_set_markup函数是一个用于设置GTK标签(GtkLabel)的标记文本的函数。标记文本可以包含HTML样式标签、链接、加粗、斜体等等,可以用于显示富文本内容。
函数原型如下:
```c
void gtk_label_set_markup(GtkLabel *label, const gchar *str);
```
其中,`label`是要设置标记文本的GtkLabel指针,`str`是包含标记文本的字符串。
例如,如果要将一个GtkLabel的文本设置为"Hello <b>world</b>!",其中"world"使用粗体显示,可以使用以下代码:
```c
GtkWidget *label = gtk_label_new(NULL);
gtk_label_set_markup(GTK_LABEL(label), "Hello <b>world</b>!");
```
这样,标签将显示为"Hello world!",其中"world"使用粗体显示。
相关问题
列举一个gtk3 GtkBox例子
以下是一个使用GtkBox布局的gtk3例子:
```python
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
class BoxExample(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="Box Example")
self.set_border_width(10)
# 创建一个纵向的GtkBox
vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=6)
# 创建一个横向的GtkBox
hbox = Gtk.Box(spacing=6)
vbox.pack_start(hbox, True, True, 0)
# 添加一个按钮到横向GtkBox中
button = Gtk.Button.new_with_label("Button 1")
hbox.pack_start(button, True, True, 0)
# 添加第二个按钮到横向GtkBox中
button = Gtk.Button.new_with_label("Button 2")
hbox.pack_start(button, True, True, 0)
# 创建一个分隔线
separator = Gtk.Separator(orientation=Gtk.Orientation.HORIZONTAL)
vbox.pack_start(separator, True, True, 0)
# 添加一个标签到纵向GtkBox中
label = Gtk.Label()
label.set_markup("<big>Label</big>")
vbox.pack_start(label, True, True, 0)
# 添加第二个分隔线
separator = Gtk.Separator(orientation=Gtk.Orientation.HORIZONTAL)
vbox.pack_start(separator, True, True, 0)
# 添加一个文本框到纵向GtkBox中
entry = Gtk.Entry()
vbox.pack_start(entry, True, True, 0)
self.add(vbox)
win = BoxExample()
win.connect("destroy", Gtk.main_quit)
win.show_all()
Gtk.main()
```
该示例创建了一个包含两个按钮、一个标签和一个文本框的GtkBox。其中,按钮被包含在横向的GtkBox中,而标签和文本框则被包含在纵向的GtkBox中。可以使用`pack_start()`方法将组件添加到GtkBox中,并指定是否让它们填充可用空间以及是否将它们视为可扩展的。
阅读全文