glade

如何在linux下用gtk开发图形界面应用程序

 * 使用 GTK+ 和 Glade 快速开发 Linux 图形界面
  ** GTK+ 简介
  *** 基本概念
  GTK+ 是一种用于创建图形界面的库. 嗯, gnome 用的就是它, 不过并不是说只
  有在 gnome 环境中才能用, 只要系统上装有 GTK 的库 (基本上有图形系统的个
  人机都会有的啦) 就能运行基于 GTK 的程序. 除了 UNIX-like 平台, 它还移植
  到 windows 上, 还有面向嵌入设备的 framebuffer 版本等等.
  GTK 依赖两个重要的库. 一个是 GLib, 这并不是一个图形库, 也和 glibc 不同
  , 它大抵上提供了一些接口以屏蔽系统的不同, 比如 gint 在哪里都是 32bit
  的, 等等; 另一个是 GDK, 它是一个设备无关的图形库, 支持基本的画点, 以及
  与窗口管理器沟通等任务, 由于 GTK 被设计成能在各个平台, 而非仅仅在
  XWindow 环境下使用, 所以这个库也是必要的. 而在他们上面的 GTK 库, 就提
  供了一些 widget — 可以理解为控件啦, 不过窗口也是一个 widget 的说, 给
  我们使用, 并提供了包装良好的事件响应机制.
  *** GTK+ 开发基础
  要开发基于 GTK 的软件, 必须先安装 GTK+ 的开发包. 检查是否正确安装的办
  法是在安装后执行 “pkg-config –cflags –libs gtk+-2.0’’, 如果安装不正
  确, 会提示找不到相应的包.
  GTK 本身是基于 C 的库, 当然也有 C++ 等语言的 wrap, 但它的整个体系是面
  向对象的. 其最基本的类是 GObject, GtkObject 继承了它, GtkObject 又派生
  出我们最经常用到的 GtkWidget, 我们使用的所有窗体控件都派生于它. 于是,
  在 C 环境中我们就要手动处理这些类转换, GTK 和底层的 GLib 等提供了一种
  统一的转换方法, 比如把类型为 GtkWidget* 的 button 转换成 GtkButton 形,
  写法是: GTK_BUTTON(button), 就酱子.
  我不打算在这里列一个 GTK 的 hello world 占页面, 这个程序随便 google 一
  下就能找到. 我们可以自己想一想一个图形界面应该如何建立.
  首先我们要进行初始化, GTK 提供了 gtk_init() 作为初始化, 它检查程序参数
  中的一些特定部分, 进行自己的设置. 调用方法如下:
  gtk_init(&argc, &argv);
  将 argc 和 argv 传指针的目的是 gtk_init 会对他们进行加工, 把 GTK 自己
  用到的一些参数抽取出来.
  接着, 我们必须要创建这些控件吧, GTK 中, 创建一个控件会返回一个
  GtkWidget 类型 (或它的派生类) 的指针, 所有创建控件的函数的格式是
  gtk_控件类型_new(参数表). 比如创建一个窗口的写法是:
  GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  然后, 我们要设定事件响应函数, GTK 中的事件叫做 signal. GTK 的事件响应
  函数接口应该是类似这样的
  void
  destroy(GtkWidget *widget, gpointer data)
  我们把它连入到一个控件中的方法是这样的
  g_signal_connect(G_OBJECT(window), “destroy“, G_CALLBACK(destroy), NULL);
  应该很好理解吧.
  我们创建的咚咚, 要说明他们的位置和包含关系, GTK 用 container 来解决这
  个问题, 它可以保证在窗口缩放的时候控件的摆放依然合理, container 的具体
  使用不详细说, 后面经常要跟 container 打交道, 但基本上不用管 C 代码, 嗯
  . 不过其实我们的任何的可视控件都继承自 container, 比如 button 也是一个
  container, 它很多时候装的是一个 GtkLabel, 也就是用来显示纯文本的控件,
  于是我们就能见到一个文本按钮, 嗯. 使用 container 的方法如下.
  gtk_container_add(GTK_CONTAINER(window), button);
  这样 button 就会占满整个 window 的控件, 我们后面可以看到可以用
  GtkVBox, GtkHBox 等 container 分隔窗体.
  好了, 我们可以准备启动程序了, 我们可以用 gtk_widget_show() 来显示各个
  控件, 然后我们就应该进入到所谓的事件响应循环了, 这就要使用 gtk_main().
  在程序运行过程中, 我们要操纵控件, 比如说我们要在一个 entry 控件(文本框
  ) 中取出其中的文字, 这样的操作使用 gtk_控件类型_动作(对象, 参数) 的形
  式完成的, 比如刚才所说的任务, 做法是 gtk_entry_get_text(entry).
  顺便讲讲 GTK 程序的退出, 关闭 GTK 的窗口 (即使是所有窗口) 也不代表程序
  退出, 因为那说到底只是一个界面而已, 我们当然可以使用 exit() 的自爆法退
  出, 但最好还是给 GTK 一个料理后事的机会, 在主窗口的 destroy 事件响应函
  数上用 gtk_main_quit() 就好了.
  编译 GTK 程序的办法也很简单.
  gcc -o foo foo.c `pkg-config –cflags –libs gtk+-2.0`
  ** 使用 Glade 快速定制用户界面
  好了, 说了一堆有的没的, 如果我现在说我上面说的那一堆中的大部分我们都不
  会用到, 是不是觉得偶很歉扁? 前面的介绍只是给大家 GTK 这个库的一些基本
  概念, 概念就好了, 我们倒真的不用拿这些来编程的. 想想, 一个复杂一点的界
  面, 十几个控件, 再加上各种各样的 container, 自己挂事件, 再加上超常的命
  名, 想想都恐怖.
  这时候, Glade 横空出世了! 这是一个可视化的界面器 — 但它仅仅是一
  个界面器而已, 甚至连代码框也没有给出. 先不管了, 打开 glade (安
  装省略, 饶了我把, 记得装 libglade-dev), 应该很好懂了, 指指点点就能弄好
  一个界面, 然后在属性窗的信号一栏中选取需要的信号, 设定响应函数, 非常好
  弄.
  玩了几分钟, 问题来了, 怎么把它变为程序啊? 提供类似功能的 IDE 如
  Borland C++ Builder, 在点击创建新控件的时候, 我们能即使在代码窗看到自
  动生成的代码, Glade 也可以采用这种形式, 在设计好界面并保存后, 按一下主
  窗口的 build 按钮, 它就自动生成了界面代码, 根本不用自己写的. 打开代码
  目录, callbacks.c 里已经有自动创建的事件响应的空函数, 在里面填处理, 然
  后 configure make 就行了.
  但是, 这样的开发方式还是有问题的. 第一, 自动生成的代码非常复杂, 可是很
  多时候我们还是不能完全不看它, 处理和界面是混在一起了, 理解他们变得困难
  ; 其二, 由于以上的原因, 修改界面变得非常痛苦; 其三, 它给你生成那堆有的
  没的配置文件不一定是你想要的.
  因此 glade 提供了另一种方法, glade 所得的 .glade 文件是一个 XML 文
  件, 其实它已经完整地描述了界面, 我们能否采用一种简单的方式直接载入, 配
  置它呢. 这样做, 我们的代码中就真真正正地去处了烦人的界面生成代码, 而专
  注于处理部分了.
  libglade 正是由于这个而来, 它能很好地完成上面所说的工作. 当我们用
  glade 创建了一个 .glade 界面后, 用这种方法我们就可以建立界面, 运行程序
  了.
  #include 《gtk/gtk.h》
  #include 《glade/glade.h》
  GladeXML *GUI;
  int
  main(int argc, char **argv)
  {
  gtk_init(&argc, &argv);
  /* load the interface */
  GUI = glade_xml_new(“frame.glade“, NULL, NULL);
  /* connect the signals in the interface */
  glade_xml_signal_autoconnect(GUI);
  /* start the event loop */
  gtk_main();
  return 0;
  }
  剩下的事情很简单, 如果你的 button 的 clicked 控件有一个响应函数
  on_button_clicked, 你写
  void
  on_button_clicked(GtkWidget *widget, gpointer data)
  {
  // balabalabala
  }
  就可以了. 所以, 上面讲的一堆创建界面的方法, 其实大部分时候都用不着.
  由于用到了 libglade, 我们的编译方法变为
  gcc -o foo foo.c `pkg-config –cflags –libs libglade-2.0`
  ** 开发举例
  一个很简单的程序, 密码学对称加密算法要用到的, 如果说是界面, 就是三个文
  本框: 明文, 密码, 密文, 三个按钮, 加密, 解密, 清除, 完了. 为了实验众多
  的算法, 我们加了一个下拉窗口, 用来选择算法. 我把它设计成一个 wrapper
  和框架, 它不实现任何算法, 只是在界面中获取用户输入, 调用外部程序, 并把
  结果显示出来而已. 这样, 实际的算法实现可以用纯 C 写的文本界面程序完成,
  移植起来很方便, 在 windows 随便做个一样的界面做前端就整个移植过去了.
  于是, 我们需要的窗体元素是 GtkEntry, GtkComboBoxEntry, GtkButton, 查查
  手册, 我们用到的界面相关的函数只有以下几个:
  - gtk_entry_get_text(), 用于获取文本框输入
  - gtk_entry_set_text(), 用于在文本框中显示结果
  - gtk_combo_box_get_active_text(), 用于在 ComboBoxEntry (派生自
  ComboBox) 取出用户选中的算法.
  另一个问题是, 他们都需要相应的对象指针做参数, 这应该怎样获得呢? 我们使
  用 glade_xml_get_widget(GUI, “控件名“) 就能取得控件了.

Linux中 glade3编译出错,显示 致命错误:glade/glade.h:没有那个文件或目录 #include

gcc -Wall -g OS4.c -o program `pkg-config gtk+-2.0 –cflags –libs` -I/usr/include/libglade-2.0/ -lglade-2.0
Good luck

glade与gtk连之间调用的问题,跪求解答

  gcc -o glade main.c `pkg-config –cflags –libs gtk+-2.0 libglade-2.0`
  链接的时候是通过的,没有报任何错误。但是运行./glade时报错
  提示是:
  (glade:14667): libglade-WARNING **: Expected . Got .
  (glade:14667): libglade-WARNING **: did not finish in PARSER_FINISH state
  (glade:14667): libglade-CRITICAL **: glade_xml_get_widget: assertion `self != NULL’ failed
  (glade:14667): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)’ failed
  (glade:14667): Gtk-CRITICAL **: IA__gtk_widget_show: assertion `GTK_IS_WIDGET (widget)’ failed
  其中main.c代码是:
  #include
  #include
  int main(int argc, char* argv)
  {
  GladeXML *gxml;
  GtkWidget *window;
  gtk_init (&argc, &argv);
  gxml = glade_xml_new (“win.glade“,NULL,NULL);
  window = glade_xml_get_widget(gxml, “window1“);
  g_object_unref (G_OBJECT (gxml));
  gtk_widget_show (window);
  gtk_main ();
  return 0;
  }

gl开头的单词结尾是e

  • glove

    意思是:手套

  •  glare

    意思是:刺眼;耀眼的光

  • glide

    意思是:滑翔;滑行

  • glue

    意思是:胶水

 

希望可以帮到你

望采纳

gtk+ 和glade错误求助 用glade设计的界面,用到了libgladegcc编译通过了,但是执行a.out出现如下

我用glade3做好了界面,然后用python调用,简单的,window.show()都运行成功也就是说最简单的程序运行成功了,但是我添加一个按扭后,和一个entry1,按扭信,Szsjfy

glad怎么读

glad的读音是:英。
glad的读音是:英。glad的例句是用作形容词(adj.)I’m glad to hear he’s feeling better.听说他身体好些了,我很高兴。glad【近义词】animated。
一、详尽释义点此查看glad的详细内容
adj.(形容词)令人高兴的,使人愉快的明媚的高兴的,欢喜的,兴高采烈的,愉快的,快乐的,开心的乐意的,情愿的充满欢乐的美丽的;优美的v.(动词)使高兴高兴,快乐,兴奋n.(名词)格拉德(音译名)【植】剑兰快乐,乐趣adv.(副词)高兴地;乐意地二、双解释义
adj.(形容词)高兴的,欢喜的 pleased and happy about sth使人高兴的,令人快乐的 causing happiness乐意的,情愿的 polite, very willing三、网络解释
1.
1. 高兴:8 A 常识运用逻辑推理词义比较根据前一句话的内容,我们就应该知道既然绷索坚固,结果自然是有把握(sure)将这件事做好,而不是感到没把握 (uncertain)或紧张 (nervous),更何况第二段的daring也有暗示,不过他现在还没有到高兴(glad)的时候.
2. 波动光学仿真软件:Essential Macleod光学薄膜分析软件 |GLAD波动光学仿真软件 | IntelliWave干涉条纹分析软件
3.
3. 高兴的:delicate#纤细的 |glad#高兴的 | violent#激烈的
4. glad什么意思
4. 高兴的;乐意的:giraffe 长颈鹿 |glad 高兴的;乐意的 | glance 匆匆一看;一瞥
5.glad:gay and lesbian awaken day; 校园同性恋苏醒日
四、例句
I’m glad to hear he’s feeling better.
听说他身体好些了,我很高兴。
I am glad we have come together at last.
很高兴我们终于取得了一致。
I’d be glad to lend you the money.
我很乐意借给你钱。
If you’d like me to help you, I’d be only too glad to.
若要我帮忙,我十分乐意相助。
五、常用短语
用作形容词(adj.)glad hand热情握手,热情打招呼 a warm welcome or greeting, especially one made in order to gain personal advantage
glad rags〈口〉漂亮考究的衣服 finest or best clothes
六、情景对话
还礼
A:You’ve been a big help.
你帮我大忙了。
glad
B:I’mglad I could help.
能帮助您,我非常高兴。
交换名片
A:Here‘s my name card.
这是我的名片。
B:And here‘s mine.
这是我的。
A:It‘s nice to finally meet you.
很高兴终于与你见面了。
B:And I‘mglad to meet you, too.
我也很高兴见到你。
生日快乐
A:Thanks for inviting me. And happy birthday, Julia.
朱莉亚,谢谢你邀请我,生日快乐,。
glad什么意思
B:Many thanks for your presence. I’m soglad you are able to come.
非常谢谢你的礼物。我很高兴你能来。
七、词义辨析
adj.(形容词)glad, fond这两个词均与愉快的心情有关。其区别在于:fond指一种时间极长的,相对稳定的情感,可与of搭配使用; glad指对做某件事的具体情感,时间可能相对较短,可与动词不定式搭配使用。例如:They are fond of playing volleyball.他们喜欢打排球。I am glad to play volleyball this afternoon.我愿意今天下午打排球。glad, gay这两个词的共同意思是“愉快的”。其区别在于:gay含有“轻松愉快,无忧无虑”和“活泼”等意味; 而glad指一时的、强烈的喜乐而言。例如:The street looks gay with bright flags and coloured lights.街上旗帜鲜艳,彩灯缤纷,显出一派欢乐景象。I am glad to see you.见到你我很高兴。glad, cheerful, happy, joyful这组词都有“高兴”的意思。其区别是:1.happy指心情舒畅、事事顺利或对他人表示良好祝愿时的幸福、愉快心情,可指一般的高兴; cheerful指表露出来的欢悦,是乐观天性的自然流露,特别是在令人不快的情况下仍保持欣悦的心情; joyful程度最强,指心情极好或得到了强烈的满足。例如:She felt joyful at the prospect of seeing him at last.她为终将看到他而感到欣喜。He always seems cheerful even in defeat.他总是高高兴兴,即使输了也这样。2.happy和glad都含有“快乐的”的意思, happy常指因某一特定的事或原因而“快乐”,且一般只作表语。3.happy有“幸福”之义,而glad没有此义。例如:He is always happy to help others.他常乐于助人。He’s very glad about the news.听到这消息他非常高兴。4.cheerful后接动词不定式有时还可表示“令人愉快的”。glad的相关近义词
animated、bright、cheerful、delighted、happy、joyful、merry、pleased、satisfied、willing
glad的相关反义词
sad、sorry、unhappy
glad的相关临近词
glade、glacier、glady、Glada、Gladu、GLADD、Gladh、Gladky、Gladis、Gladun、Gladys、Gladin
点此查看更多关于glad的详细信息

linux怎么修改glade标签里的文字大小

一般来说,你需要使用对应的库,Linux下用的比较多的是gtk和qt对应的IDE是glade和qtcreator 所谓图形界面,不过是在代码中调用相关的图形化函数

英语The glade怎么翻译

  • 林间空地的意思,也可以作为某名称
    望采纳

  • 翻译:林间空地

  • The glade
    林间空地

怎么在linux环境下安装glade-3-2.90.0,已经下载了安装包,求详细步骤,有图最好,跪求大神帮忙

你什么版本,一般都自带了啊,
ubuntu/debian 直接
apt-get install glade

请教有人知道这首歌吗

貌似是丹麦的一首儿歌,名为《丰收之歌》(Marken er mejet)
完整简谱:
15313513511 4666355524321
15313513511 4666355524321
11172522135 46666355524321
15313513511 466663555244321
15313513511 4666355524321
1172522135 46663555244321
丹麦语原版歌词:
Marken er mejet, og høet er høstet,
kornet er i laderne, og høet står i hæs.
Frugten er plukket, og træet er rystet,
og nu går det hjemad med det allersidste læs.
Rev vi marken let,
det er gammel ret,
fuglen og den fattige skal også være mæt.
Rev vi marken let,
det er gammel ret,
fuglen og den fattige skal også være mæt.
Loen vi pynter med blomster og blade,
vi har georginer og bonderoser nok.
Børnene danser allerede så glade,
alle vore piger står ventende i flok.
Bind så korn i krans,
hurra, her til lands
sluttes altid høsten med et gilde og en dans.
Bind så korn i krans,
hurra, her til lands
sluttes altid høsten med et gilde og en dans.
中文版:
田里的庄稼都已收割完毕,大麦小麦收进仓库干草堆成堆。
果园里甜美的水果已摘完,背起筐儿欢欢喜喜回家度丰年。
采果的劳动者不会白流汗,新摘的果儿我们大家都来尝一尝。
辛苦的种田人将得到酬谢,金黄的麦粒补偿他们一年的血汗。
欢乐中别忘了旁人的苦难,让我们去帮助别人大方又慷慨(有的版本也写作“慷慨又大方”)
人人都高兴,到处歌舞欢,唱着歌儿编成一个丰收的大花环。