c - 如何在 gtk 上添加 text_view 滚动条?

标签 c gtk gtk3 gnome

我已经使用这个函数添加了txtview >>

 text_v = gtk_text_view_new()

bt 这里滚动不起作用,还有如何设置 textview 大小,用过这个 =>>

gtk_widget_set_size_request(text_v,400,200);

bt 也不行

最佳答案

我是这样做的:

#include<gtk/gtk.h>

int main(int argc, char* argv[])
{
    GtkWidget *textview, *window, *scrolledwindow;
    GtkTextBuffer *buffer;

    gtk_init(&argc, &argv); /*void gtk_init (int *argc,char ***argv);*/
    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

    gchar* sample_text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit,\n" \
        "sed do eiusmod tempor incididunt ut labore et dolore magna\n" \
        "aliqua. Ut enim ad minim veniam, quis nostrud exercitation\n" \
        "ullamco laboris nisi ut aliquip ex ea commodo consequat.\n"\
        "Duis aute irure dolor in reprehenderit in voluptate velit\n"\
        "esse cillum dolore eu fugiat nulla pariatur. Excepteur sint\n"\
        "occaecat cupidatat non proident, sunt in culpa qui officia\n"\
        "deserunt mollit anim id est laborum.";

    textview = gtk_text_view_new();
    gtk_widget_set_size_request(textview, 400, 200); // This is but a request. The sizes are not guaranteed.
    scrolledwindow = gtk_scrolled_window_new(NULL, NULL); 

    buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview));
    gtk_text_buffer_set_text(buffer, sample_text, -1);

    gtk_container_add(GTK_CONTAINER(scrolledwindow), textview);
    gtk_container_add(GTK_CONTAINER(window), scrolledwindow);
    gtk_widget_show_all(window);

    gtk_main();

    return 0;
}

如果您需要自定义滚动窗口,值得一看here .

关于c - 如何在 gtk 上添加 text_view 滚动条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36382272/

相关文章:

从文本文件创建链表

C GTK3 - 如何在销毁主窗口之前等待/ sleep

c - 如何在 gtk+ 中创建按钮数组

c - 如何在 C 中将 vector 参数传递给 OpenCL 内核?

c - 矩阵排序段错误

c - 你如何在 C 中定义一个接受结构指针参数的宏?

c - 如何使用两种不同的字体在 GTK 标签上显示文本?

java - 如何使用 sudo 在 Java 中保留 GTK 外观

c++ - Gtkmm-3.0 编译代码抛出 Gtk+2 符号错误

c++ - GTK+3 编译错误 "Could not find signal handler ` ` 你用 -rdynamic 编译了吗?