Gtk Text View小部件改变我的窗口大小

时间:2014-08-26 16:34:50

标签: gtk

我正在尝试学习如何使用GTK。我熟悉Java的JSwing,但是很难控制GTK小部件。

下面我创建一个窗口并添加一个表容器(我假设它就像一个LayoutManager)。我还在第一个单元格中添加了一个文本视图(类似于JTextArea)。

当我开始在文本视图中输入并且当我的文本通过边缘时,我的窗口会增长。如何使窗口保持相同的大小并在文本视图中具有滚动功能?

#include "window.h"

void window_create(ChatWindow* window)
{
    //Allocate the actual window. Our ChatWindow object has a pointer to a GTKWidget called window
    window->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

    //Set the size of the window
    gtk_window_set_default_size(GTK_WINDOW(window->window), 250, 180);

    //Close the program when they click the x button
    g_signal_connect(window->window,"delete-event", G_CALLBACK(gtk_main_quit), NULL);

    //Show the window
    gtk_widget_show(window->window);

    gtk_window_set_title(GTK_WINDOW(window->window),"Chat Program");

    //Setup the Window
    window->chatHistory = gtk_text_view_new();      //Allocate the new TextView


    window->layout = gtk_table_new(4,4,TRUE);
    gtk_table_attach_defaults(GTK_TABLE(window->layout), window->chatHistory, 0, 1, 0, 1 );

    gtk_container_add(GTK_CONTAINER(window->window), window->layout);

    gtk_widget_show_all(window->window);
}

1 个答案:

答案 0 :(得分:1)

GtkTextView放在GtkScrolledWindow内,它将获得滚动功能。滚动窗口也会使其不会增大。