【发布时间】:2014-08-26 16:34:49
【问题描述】:
我正在尝试学习如何使用 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);
}
【问题讨论】:
标签: gtk