没有列标题栏的TreeView或ListView

斯拉维克

有没有一种方法可以在没有列标题栏的TreeView或ListView中显示数据?

美智

当您在不显示任何代码的情况下谈论列标题栏时,让我认为您是在询问Header。

如果是这样,则这是您需要的功能:

gtk_tree_view_set_headers_visible()

这是headers_visible设置为TRUE(默认设置)的地方:

在此处输入图片说明

此处headers_visible设置为FALSE:

在此处输入图片说明

这是一个示例代码:

#include <gtk/gtk.h>

GtkWidget    *create_window ( void );
GtkWidget    *create_scrolled_window ( void );
GtkWidget    *create_tree_view ( void );
GtkListStore *create_list_store ( void );

int main ( void )
{
    GtkWidget *window;
    GtkWidget *scrolled_window;
    GtkWidget *tree_view;

    /// ***
    gtk_init ( NULL, NULL );

    /// ***
    window = create_window();

    /// ***
    ///scrolled_window = gtk_scrolled_window_new ( NULL, NULL );
    scrolled_window = create_scrolled_window ( );
    gtk_scrolled_window_set_kinetic_scrolling ( GTK_SCROLLED_WINDOW ( scrolled_window ), TRUE );
    gtk_scrolled_window_set_capture_button_press ( GTK_SCROLLED_WINDOW ( scrolled_window ), TRUE );

    /// ***
    tree_view = create_tree_view ( );
    gtk_container_add ( GTK_CONTAINER ( scrolled_window ), tree_view );
    gtk_container_add ( GTK_CONTAINER ( window ), scrolled_window );

    /// ***
    gtk_widget_show_all ( window );

    // ***
    gtk_widget_show_all ( window );
    gtk_main ();
}

GtkWidget *create_window ( void )
{
    GtkWidget *window;

    /// ***
    window = gtk_window_new ( GTK_WINDOW_TOPLEVEL );
    gtk_window_set_default_size ( GTK_WINDOW ( window ), 150, 150 );
    gtk_container_set_border_width ( GTK_CONTAINER ( window ), 5 );

    /// ***
    g_signal_connect ( window, "delete_event", G_CALLBACK ( gtk_main_quit ), NULL );

    /// ***
    return window;
}

GtkWidget *create_scrolled_window ( void )
{
    GtkWidget *scrolled_window;

    /// ***
    scrolled_window = gtk_scrolled_window_new ( NULL, NULL );
    gtk_scrolled_window_set_kinetic_scrolling ( GTK_SCROLLED_WINDOW ( scrolled_window ), TRUE );
    gtk_scrolled_window_set_capture_button_press ( GTK_SCROLLED_WINDOW ( scrolled_window ), TRUE );

    /// ***
    return scrolled_window;
}

GtkListStore *create_list_store ( void )
{
    GtkListStore *list_store;
    list_store = gtk_list_store_new ( 1, G_TYPE_STRING );

    /// ***
    for ( gint i = 0; i < 10; i++ )
    {
        GtkTreeIter iter;
        gchar *label = g_strdup_printf ( "Row number %d", i );

        /// ***
        gtk_list_store_append ( list_store, &iter );
        gtk_list_store_set ( list_store, &iter, 0, label, -1 );

        /// ***
        g_free ( label );
    }

    return list_store;
}

GtkWidget *create_tree_view ( void )
{
    GtkWidget       *tree_view;
    GtkCellRenderer *renderer;
    GtkListStore    *store;

    /// ***
    tree_view = gtk_tree_view_new ();
    store     = create_list_store();

    /// ***
    renderer = gtk_cell_renderer_text_new ();
    g_object_set ( renderer, "editable", TRUE, NULL );

    /// **
    gtk_tree_view_insert_column_with_attributes ( GTK_TREE_VIEW ( tree_view ),
            0, "This is the Title",
            renderer,
            "text", 0,
            NULL );

    /// ***
    gtk_tree_view_set_model ( GTK_TREE_VIEW ( tree_view ), GTK_TREE_MODEL ( store ) );
    g_object_unref ( store );

    /// ***
    gtk_tree_view_set_headers_visible ( GTK_TREE_VIEW ( tree_view ), FALSE );

    /// ***
    return tree_view;
}

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

NSWindow +标题栏没有圆角?

没有标题栏的移动表单

只有Skype在lubuntu中没有标题栏

没有标题栏无法捕获键盘

没有标题栏的python tkinter还原窗口

使用Tkinter删除没有overrideredirect()的标题栏?

没有标题栏按钮关闭窗口Ubuntu 18.04

如何制作没有标题栏的标签窗格?

没有标题栏问题和Windows 10

Android Listview隐藏标题栏

Tkinter,Windows:如何在没有标题栏的Windows任务栏中查看窗口?

崩溃的标题栏带有动画

有没有办法在pyton中编辑tkinter的标题栏

有没有办法禁用/阻止自定义标题栏按钮?

为什么笔记本 Firefox 有标题栏而桌面 Firefox 没有?

使用Gnome3在Ubuntu中程序没有标题栏和边框是否正常?

Ubuntu 16.04问题:应用程序没有自己的标题栏,并且无法拆卸

撤消麻烦:以编程方式初始化`NSPersistentDocument`,而标题栏中没有“ edited”标志

Xamarin.Forms AppCompat MasterDetail没有标题栏显示

Android-以编程方式捕获ScreenShot,而没有标题栏

将选项卡添加到没有标题栏的窗口

如何获得没有标题栏高度的电子窗口的高度?

没有菜单/网址/标题栏/滚动条/任何内容的javascript打开弹出窗口

如何在OpenCV Python中显示没有标题栏和边框的图像

我可以将徽标直接放在Gtk标题栏上吗?(没有小部件)

Tkinter - 显示没有标题栏和屏幕键盘的全屏应用程序 (Linux)

X工具箱“ -title”参数以“ lock”结尾时,没有窗口标题栏

如何在AS3中制作没有标题栏和控件的SWF文件?

标题栏颜色