Glade开发GTK+ 界面
Posted dgwblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Glade开发GTK+ 界面相关的知识,希望对你有一定的参考价值。
1:概述
Java 有WindowBuilder 来可视化构建界面, C++ 可以选择QT 但是硬要用GTK 怎么办呢? 使用Glade啊
安装:
">sudo apt-get install glade
注意: 或者直接在Ubuntu的应用商店搜索安装, Ubuntu搜索安装会有三个, 最好自己试一试, 我选择安装最后一个成功.
2: 来 搞个界面出来
下面的这个注册 直接关闭跳过
给按钮设置 信号控制 也就是事件
3: 编写代码
#include <gtk/gtk.h> #include <stdio.h> //我们在UI中,为button1添加的点击函数 void btn_click(GtkObject *object, gpointer user_data){ printf("5sssssssssssssssss"); gtk_main_quit(); } int main (int argc, char *argv[]) { GtkBuilder *builder; GtkWidget *window; GtkWidget *btn; gtk_init (&argc, &argv);//gtk初始化 builder = gtk_builder_new ();//指针分配空间 gtk_builder_add_from_file (builder, "lay1.glade", NULL);//读取button.xml文件 window = gtk_window_new(GTK_WINDOW_TOPLEVEL); //创建窗口 window = GTK_WIDGET (gtk_builder_get_object (builder, "window"));//获取window串口使用权 btn= GTK_WIDGET(gtk_builder_get_object (builder, "btn")); //gtk_signal_connect(btn,"destroy",G_CALLBACK(btn_click),NULL); gtk_builder_connect_signals (builder, NULL);//连接响应事件 g_object_unref (G_OBJECT (builder)); //释放xml内存空间 gtk_widget_show(window); gtk_main ();//事件响应函数 return 0; }
编译出现问题: assertion ‘GTK_IS_WIDGET (widget)‘ failed的解决办法
参考 这边博客解决办法: https://www.cnblogs.com/dgwblog/p/12146591.html
以上是关于Glade开发GTK+ 界面的主要内容,如果未能解决你的问题,请参考以下文章
使用 Glade 和 gtkmm 对 GTK+ 对象进行内存管理
FreeBASIC 和 GTK Glade 的 glade Button 是如何工作的?