gpt4 book ai didi

c++ - 从不兼容的指针类型分配,同时在框中添加缓冲区文本

转载 作者:行者123 更新时间:2023-11-30 20:38:03 25 4
gpt4 key购买 nike

我是gtk +的新手,在这里我想添加带有一些缓冲文本的可滚动文本视图窗口,并将其包含在框中。
这是问题所在,我的代码运行良好,但没有按我想要的方式调整大小,并产生一些我不知道的错误。请帮助我!!!!解决这个
这是我的代码

#include<gtk/gtk.h>
int main(int argc,char *argv[])
{
gtk_init(&argc,&argv);
GtkWidget *window,*box,*view,*view1;
GtkTextBuffer *buffer,*scroll,*scroll1;
GtkTextIter iter;

window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size(GTK_WINDOW(window),800,550);
gtk_window_set_title(GTK_WINDOW(window),"Nct");
g_signal_connect(window,"delete-event",G_CALLBACK(gtk_main_quit),NULL);

box=gtk_box_new(GTK_ORIENTATION_HORIZONTAL,150);

scroll=gtk_scrolled_window_new(0,0);
gtk_widget_set_size_request(scroll,100,300);
view=gtk_text_view_new();
buffer=gtk_text_view_get_buffer(GTK_TEXT_VIEW(view));
gtk_text_buffer_get_iter_at_offset(buffer, &iter,10);
gtk_text_buffer_insert(buffer,&iter,"type here",-1);
gtk_container_add(GTK_CONTAINER(scroll),view);
gtk_box_pack_start(GTK_BOX(box),scroll,TRUE,TRUE,10);

scroll1=gtk_scrolled_window_new(0,0);
gtk_widget_set_size_request(scroll1,100,300);
view1=gtk_text_view_new();
buffer=gtk_text_view_get_buffer(GTK_TEXT_VIEW(view1));
gtk_text_buffer_get_iter_at_offset(buffer, &iter,10);
gtk_text_buffer_insert(buffer,&iter,"type here",-1);
gtk_container_add(GTK_CONTAINER(scroll1),view1);
gtk_box_pack_start(GTK_BOX(box),scroll1,TRUE,TRUE,10);

gtk_container_add(GTK_CONTAINER(window),box);
gtk_widget_show_all(window);
gtk_main();
return 0;
}


here is the error
passing argument 1 of ‘gtk_widget_set_size_request’
from incompatible pointer type [enabled by default]
gtk_widget_set_size_request(scroll,100,300);
expected ‘struct GtkWidget *’ but argument is of type ‘struct
GtkTextBuffer *’
void gtk_widget_set_size_request (GtkWidget *widget,
passing argument 2 of ‘gtk_box_pack_start’ from incompatible pointer
type [enabled by default]
gtk_box_pack_start(GTK_BOX(box),scroll,TRUE,TRUE,10);

最佳答案

这个:

scroll = gtk_scrolled_window_new(0, 0);


使用类型为 scrollGtkTextBuffer *,就好像它是 GtkWidget *。这是错误的,可能是您收到的警告之一。

解决方法是(当然)将 scroll的定义上移到定义 GtkWidget类型的变量的行。 scroll1也是如此。

关于c++ - 从不兼容的指针类型分配,同时在框中添加缓冲区文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30709316/

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