连接glade
gtk_init (&argc, &argv);
GtkBuilder *builder;
builder = gtk_builder_new ();
gtk_builder_add_from_file (builder, "(路径)文件名.glade", NULL);
。。。 。。。。
//显示
gtk_widget_show_all(window);
gtk_main ();
获取组件
GtkWidget *window;
window = GTK_WIDGET (gtk_builder_get_object (builder, "window1"));
信号绑定函数
void on_delete_event (GtkWidget *widget,GdkEvent* event,gpointer data)
{
gtk_main_quit();
}
g_signal_connect(G_OBJECT(window),"delete_event",G_CALLBACK(on_delete_event),NULL);
一些控件
//textview的缓冲区textbuffer
GtkTextBuffer *buffer;
GtkTextIter start, end;
char textbuf[100];
gtk_text_buffer_get_end_iter(buffer,&end);
gtk_text_buffer_get_start_iter(buffer,&start);
gtk_text_buffer_insert(buffer,&end,buf,length);
gtk_text_buffer_delete(buffer,&start,&end);//
gtk_text_buffer_get_text(textbuf,&start,&end,FALSE);
//label的
GtkWidget *label;
label = GTK_WIDGET(GTK_LABEL(label),"Label");
gtk_label_set_text(GTK_LABEL(label),"haha");
const char* content = gtk_label_get_text(GTK_LABEL(label));
线程创建
头文件
#include <pthread.h>
函数声明
int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict_attr,void*(*start_rtn)(void*),void *restrict arg);
返回值
若成功则返回0,否则返回出错编号
参数
第一个参数为指向线程标识符的指针。
第二个参数用来设置线程属性。
第三个参数是线程运行函数的地址。
最后一个参数是运行函数的参数。
注意
在编译时注意加上-lpthread参数,以调用静态链接库。因为pthread并非Linux系统的默认库
void *hello()
{
sleep(1);
printf("hello world\n");
}
pthread_t id;
pthread_create(&id,NULL,hello,NULL);