gpt4 book ai didi

c - GTK 和滚动 TextView

转载 作者:太空狗 更新时间:2023-10-29 14:54:19 24 4
gpt4 key购买 nike

这是我目前的情况

GtkWidget* createConsoleBox()
{
GtkWidget* textArea = gtk_text_view_new();
GtkWidget* scrollbar = gtk_vscrollbar_new(gtk_text_view_get_vadjustment(GTK_TEXT_VIEW(textArea)));
GtkWidget* textEntry = gtk_entry_new();

GtkWidget* console = gtk_table_new(3, 2, FALSE);

gtk_table_attach_defaults(GTK_TABLE(console), textArea, 0, 1, 0, 1);
gtk_table_attach_defaults(GTK_TABLE(console), scrollbar, 1, 2, 0, 1);

gtk_table_attach_defaults(GTK_TABLE(console), textEntry, 0, 2, 1, 2);

return console;

}

我希望 TextView 在文本开始填充框时可以滚动,但框不断扩展以容纳更多文本。如何限制 TextView 的大小并创建可滚动的 TextView 。

提前致谢:-)

最佳答案

恐怕您误解了滚动条在 GTK 中的工作方式;通常你不会直接创建滚动条,而是将你想要滚动的小部件放在 GtkScrolledWindow 中。 .这会自动创建滚动条并将它们连接到滚动窗口内的小部件;在您的例子中, TextView 。

这是您的 createConsoleBox() 函数的样子:

GtkWidget* createConsoleBox()
{
GtkWidget* textArea = gtk_text_view_new();
GtkWidget* scrolledwindow = gtk_scrolled_window_new(NULL, NULL);
GtkWidget* textEntry = gtk_entry_new();
GtkWidget* console = gtk_table_new(3, 1, FALSE);

gtk_container_add(GTK_CONTAINER(scrolledwindow), textArea);
gtk_table_attach_defaults(GTK_TABLE(console), scrolledwindow, 0, 1, 0, 1);
gtk_table_attach_defaults(GTK_TABLE(console), textEntry, 0, 1, 1, 2);

return console;
}

关于c - GTK 和滚动 TextView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8403731/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com