概述
上一篇完善了一下窗体,但是仅仅一个窗体没有什么用,我们需要大量的其他控件。那么我们慢慢来。先从最基本的按钮开始!在上篇的基础上稍微修改代码。
#include<gtk/gtk.h>
void on_button_clicked(GtkWidget *button,gpointer userdata)
{
g_print("你好,你已经点击了我");
g_print("%sn",(gchar *)userdata);
gtk_button_set_label(GTK_BUTTON(button),(gchar *)userdata);
}
int main(int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *button;
gchar *str = "I love gtk!";
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Hello World 添加按钮");
gtk_window_set_default_size(GTK_WINDOW(window),400,300);
gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
gtk_container_set_border_width(GTK_CONTAINER(window),40);
g_signal_connect(G_OBJECT(window),"delete_event",G_CALLBACK(gtk_main_quit),NULL);
button = gtk_button_new_with_label("点击我");
g_signal_connect(G_OBJECT(button),"clicked",G_CALLBACK(on_button_clicked),(gpointer)str);
gtk_container_add(GTK_CONTAINER(window),button);
gtk_widget_show (button);
gtk_widget_show (window);
gtk_main ();
return 0;
}
gtk控件是统一用GtkWidget类型来管理的,按钮控件也不例外。我们可以用gtk_button_new来创建一个不显示任何东西的按钮。也可以用gtk_button_new_with_label来创建一个带有文字标签的按钮。
gtk函数的特色是以gtk开头,用下划线连接。第二个词表示控件的类型,后面的词表示要做的动作。比如new_with_label。set_default_size和set_position等等基本能见其名知其意。
gtk中的控件摆放采用容器这个概念。gtk所有的控件能分成两类,一类是能容纳其他控件的容器,一类是不能容纳其他控件的非容器控件。容器控件有分成能容纳多个控件的容器和只能容纳一个控件的容器。
窗口控件也是一种容器,它可以容纳按钮控件。gtk_container_add函数的作用是将第二个参数代表的控件加入到,第一个参数
所代表的容器中来。第一个参数是GtkContainer型的指针。所有需要GTK_CONTAINER这个宏来进行转换。
最后
以上就是闪闪超短裙为你收集整理的没事儿找事儿————gtk学习(给窗体添加按钮)的全部内容,希望文章能够帮你解决没事儿找事儿————gtk学习(给窗体添加按钮)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复