Hello.
This actually quite easy to achieve using pango markup language. And since sample code can explain what 1e3 words can't, I wrote a simple application to demonstrate the priciples. (My code is written in C, since my Python skills suck badly. Sorry.)
Code:
#include <gtk/gtk.h>
int
main( int argc,
char **argv )
{
GtkWidget *window;
GtkWidget *swindow;
GtkWidget *tree;
GtkListStore *store;
GtkTreeViewColumn *col;
GtkTreeIter iter;
GtkCellRenderer *cell;
gtk_init( &argc, &argv );
window = gtk_window_new( GTK_WINDOW_TOPLEVEL );
g_signal_connect( G_OBJECT( window ), "destroy",
G_CALLBACK( gtk_main_quit ), NULL );
swindow = gtk_scrolled_window_new( NULL, NULL );
gtk_container_add( GTK_CONTAINER( window ), swindow );
store = gtk_list_store_new( 3, G_TYPE_BOOLEAN,
G_TYPE_BOOLEAN,
G_TYPE_STRING );
gtk_list_store_append( store, &iter );
gtk_list_store_set( store, &iter, 0, FALSE,
1, FALSE,
2, "<b><big>Important security "
"updates</big></b>",
-1 );
gtk_list_store_append( store, &iter );
gtk_list_store_set( store, &iter, 0, TRUE,
1, FALSE,
2, "<b>file</b>\n"
"Determines file type using "
"\"magic\" numbers\n"
"From version 4.19-1ubuntu2 to ...",
-1 );
gtk_list_store_append( store, &iter );
gtk_list_store_set( store, &iter, 0, TRUE,
1, TRUE,
2, "<b>firefox</b>\n"
"lightweight web browser based "
"on Mozilla"
"From vrsion 2.0.0.3+1-0ubuntu2 ...",
-1 );
tree = gtk_tree_view_new_with_model( GTK_TREE_MODEL( store ) );
gtk_container_add( GTK_CONTAINER( swindow ), tree );
col = gtk_tree_view_column_new();
cell = gtk_cell_renderer_toggle_new();
gtk_tree_view_column_pack_start( col, cell, FALSE );
gtk_tree_view_column_set_attributes( col, cell, "visible", 0,
"active", 1,
NULL );
cell = gtk_cell_renderer_text_new();
gtk_tree_view_column_pack_start( col, cell, TRUE );
gtk_tree_view_column_set_attributes( col, cell, "markup", 2, NULL );
gtk_tree_view_append_column( GTK_TREE_VIEW( tree ), col );
gtk_widget_show_all( window );
gtk_main();
return( 0 );
}