1. 程式人生 > >初學,Linux下gtk+,glade,一些控制元件的使用函式

初學,Linux下gtk+,glade,一些控制元件的使用函式

連線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);