- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Logo Logo Logo Logo Logo Logo Logo Logo Logo Logo 组装盒构件 本讲大纲: 组装盒的原理 盒的细节 组装盒程序 用表组装 表组装程序 组装盒的原理 但当你想要放置更多的构件到一个窗口中时,如何控制各个构件的定位呢?这时就要用到组装(Packing)了。 组装盒的原理 多数组装是通过创建一些“盒(boxes)”来达成的,这是些不可见的构件容器,它们有两种形式:一种是横向盒(horizontalbox),一种是纵向盒(verticalbox)。当我们组装构件到横向盒里时,这些构件就依着我们调用的顺序左至右或右到左水平地插入进去。在纵向盒里,则顶部到底部或相反地组装构件,你可以使用任意的盒组合,比如盒套盒或者盒挨着盒,用以产生你想要的效果。 要创建一个新的横向盒,调用gtk_hbox_new(),对于纵向盒,用gtk_vbox_new()。gtk_box_pack_start()和gtk_box_pack_end()函数用来将对象组装到这些容器中。gtk_box_pack_start()将对象从上到下组装到纵向盒中,或者左到右组装到横向盒中。gtk_box_pack_end()则相反,下到上组装到纵向盒中,或者右到左组装到横向盒中。使用这些函数允许我们调整自己的构件向左或向右对齐,同时也可以混入一些其它的方法来达到我们想要的设计效果。在我们的示例中多数使用gtk_box_pack_start()。被组装的对象可以是另一个容器或构件。事实上,许多构件本身就是容器,包括按钮,只不过我们通常在按钮中只放入一个标签。 通过使用这些调用,GTK就会知道要把构件放到哪里去,并且会自动做调整大小及其它美化的事情。至于如何组装你的构件这里还有一些选项。正如你能想到的,在放置和创建构件时,这些方法给了我们很多的弹性。 盒的细节 由于存在这样的弹性,所以在一开始使用GTK中的组装盒(packingbox)的时候会有点让人迷惑。这里有许多选项,并且它们不容易一眼看出是如何组合在一起的。然而到最后,这里基本上只有五种不同的风格。 每一行包含一个带有若干按钮的横向盒。gtk_box_pack是组装每个按钮到横向盒(hbox)的简写。每个按钮都是以同样的方式组装到横向盒里的(例如,以同样参数调用gtk_box_pack_start()函数)。 这是gtk_box_pack_start()函数的声明。 voidgtk_box_pack_start(GtkBox*box, GtkWidget*child, gbooleanexpand, gbooleanfill, guintpadding); 第一个参数是你要把对象组装进去的盒,第二个就是该对象。目前这些对象将都是按钮,即我们要将这些按钮组装到盒中。 gtk_box_pack_start()和gtk_box_pack_end()中的expand参数是用来控制构件在盒中是充满所有多余空间这样盒会扩展到充满所有分配给它的空间(TURE);还是盒收缩到仅仅符合构件的大小(FALSE)。设置expand为FALSE将允许你向左或向右对齐你的构件。否则,它们会在盒中展开,同样的效果只要用gkt_box_pack_start()或gtk_box_pack_end()之一就能实现。 fill参数在gtk_box_pack中控制多余空间是分配给对象本身(TRUE),还是让多余空间围绕在这些对象周围分布(FALSE)。它只有在expand参数也为TRUE时才会生效。 组装盒程序 用表组装 让我们看看另一种组装的方法-表(Tables)。在某些情况下这是极其有用的。使用表的时候,我们建立格来放入构件。构件可以占满我们所指定的所有空间,第一个要看的,当然是gtk_table_new()这个函数: GtkWidget*gtk_table_new(guintrows, guint columns, gboolean homogeneous); 第一个参数是表中要安排的行的数量,而第二个,显然,就是列的数量。 homogeneous参数跟表格框(tablesboxes)的大小处理有关。如果homogeneous是TRUE,所有表格框的大小都将调整为表中最大构件的大小。如果homogeneous为FALSE,每个表格框将会按照同行中最高的构件,与同列中最宽的构件来定自身的大小。行与列为0到n编号,而n是我们在调用gtk_table_new时所指定的值。 注意坐标系统开始于左上角。要向框中放置一个构件,使用下面的函数: voidgtk_table_attach(GtkTable*table, GtkWidget *child, guint left_attach, guint right
您可能关注的文档
- 90劳动出版社精品课件 方向控制阀《液压传动与气动技术》方向阀1.ppt
- 92 触电与触电防护 《安全用电(第四版)》第一章 A04117203.ppt
- 93劳动出版社精品课件 三相交流电路 《电工基础》第六章 A041154第6章三相交流电路.ppt
- 94劳动出版社精品课件 原画基础——时间节凑《原画基础》原画基础.ppt
- 96劳动出版社精品课件 点线面在服装设计中的应用《服装设计》点线面体在服装设计中的应用.ppt
- 97劳动出版社精品课件 Photoshop图层的综合应用《图形图像处理Photoshopcs4》Photoshop图层的综合应用课件(黄小珊、刘柳霞).ppt
- 99劳动出版社精品课件 《麦兜故事》—香港文化的成功营销 《动画赏析》香港文化的成功营销《麦兜》.ppt
- 99劳动出版社精品课件 《麦兜故事》—香港文化的成功营销《动画赏析》黄炯贤PPT大赛(参赛多媒体课件脚本设计卡片).doc
- 9劳动出版社精品课件 设计减速器输出轴《机械设计基础》《机械设计》轴(湛高技闫琳).ppt
- Access数据库技术及应用 高职 计算机第七章.pptx
- Linux C从入门到精通 第2版02进程的基本操作.ppt
- Linux C从入门到精通 第2版03C语言代码联编.ppt
- Linux C从入门到精通 第2版03Linux系统的安装.ppt
- Linux C从入门到精通 第2版03Make基本规则.ppt
- Linux C从入门到精通 第2版03UDP套接字编程.ppt
- Linux C从入门到精通 第2版03代码设计.ppt
- Linux C从入门到精通 第2版03使用Eclipse开发C代码.ppt
- Linux C从入门到精通 第2版03共享内存.ppt
- Linux C从入门到精通 第2版03其他编译工具简介.ppt
- Linux C从入门到精通 第2版03基于数据流的IO操作.ppt
最近下载
- 2025年【全国】汉字听写大会竞赛考试题(含答案).docx VIP
- 新高三第一次班主任会议,校长讲话:凝心聚力战高三,担当使命育栋梁.docx
- 《化学抛光和电解抛光》.ppt VIP
- 校园内施工安全教育课件.pptx VIP
- 某某村党群服务中心项目可行性研究报告.doc VIP
- 2023年电动自行车换电站相关项目可行性研究报告.docx VIP
- Q-CR 517.2-2023铁路工程喷膜防水材料 第2部分:喷涂橡胶沥青(OCR).pdf
- (王红)《遣戍伊犁日记》《叶柝纪程》录文.doc VIP
- 一种用硅藻土助滤剂废弃物制备纳米白炭黑的方法.pdf VIP
- 数字化转型之数据治理解决方案.pdf VIP
文档评论(0)