光标设置 ()

光标设置 ()
光标设置 ()

Android 的EditText 控件默认获取焦点的时候, 插入光标是在第一个位置的,如果EditText 中设置了文本, 这个时候光标是在文本的最前面, 而不是文本的最后. 为了方便用户使用, 需要把光标移动到文本最后, 但是EditText 没有提供setCursor 函数. 经查看其文档发现setSelection 函数可以完成该功能. 如下:

Java代码

1.EditText et = ...

2.String text = "text";

3.et.setText(text);

4.et.setSelection(text.length());

 

[Android教程]EditText输入错误时该怎样提示用户

1) 使用Toast提示

Toast.makeText(this, "邮箱格式不正确", Toast.LENGTH_LONG).show();

2) 使用EditText的setError提示

EditText et = (EditText) findViewById(R.id.etTest);

et.setError("有错误提示");

PS:在EditText的右边使用TextView来提示,类似于网页中注册页面。需要注意的是EditText 必须获得焦点才会弹出错误提示框。

3) 自定义图标的setError提示

Drawable d = getResources().getDrawable(R.drawable.ic_launcher);

d.setBounds(0, 0, 30, 30); //必须设置大小,否则不显示

et.setError("有错误提示", d);

public static void dealExpression1(SpannableString

spannableString,String strs, Pattern patten,int start){

Matcher matcher = patten.matcher(strs);

if (matcher.find()) {

String key = matcher.group();

// String wenben=strs.substring(0, matcher.start()-1);

Bitmap

bitmap=returnBitMap("https://www.360docs.net/doc/877324391.html,/https://www.360docs.net/doc/877324391.html,tex?"+key);

ImageSpan imageSpan = new ImageSpan(bitmap);

//通过图片资源id来得到bitmap,用一个ImageSpan来包装 Drawable drawable = getResources().getDrawable(id);

drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());

int end = matcher.start() + key.length();

spannableString.setSpan(imageSpan,start+matcher.start()-1,

start+end+1, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);

//计算该图片名字的长度,也就是要替换的字符串的长度

//将该图片替换字符串中规定的位置中

if (end < strs.length()) {

//如果整个字符串还未验证完,则继续。。

dealExpression1(spannableString,strs.substring(end+1),patten,start+en d);

}

}else{

}

}

GTK图形界面编程-计算器的实现

目录 一.课程设计目的 (2) 二.课程设计任务与要求 (2) 三.功能分析 (3) 四.功能模块分析与设计 (3) 1.图形界面设计 (4) 2.按键处理模块 (4) 3.数字键处理模块 (5) 4.小数点处理模块 (6) 5.加减乘除运算按键处理模块 (6) 6.结果按键,即等号处理模块 (7)

7.清除模块 (8) 五.功能测试 (9) 六.课程设计总结 (10) 高级C语言实训报告 一.课程设计目的 现在大多数的计算器都具备+,-,*,/等四则运算的功能。用计算器来算数显然比用脑袋或用纸笔计算要来得方便。当我们看到一个很长很大的表达式需要得到结果时,我们就会想到计算器,这样,本程序就是为解决大家基本四则运算的问题而产生的。主要基于对表达式的分析并利用C进行编程进而实现算法的。C在程序运行效率、内存使用的可控性和编程的灵活性上均具有较大的优势,与汇编语言和C语言更具有面向对象的优点,我采用Ubuntu Linux操作系统以及GTK+2.0,以达到算法快速有效地执行。 二.课程设计任务与要求 1.使用C语言和GTK+图形库进行开发,计算器可以在装有GTK+运行环境的各种操作系统上运行;

2.实现标准型计算器上的四则运算功能(参考Windows 7系统标准型计算器); 3.根据课程设计进度对程序功能进行扩展: 添加捕捉键盘事件功能,通过PC键盘的数字键盘也可以进行输入; 为计算器添加存储功能(MR、M+、M-等按键功能),实现完整的标准型计算器; 4.实现科学型计算器上的四则运算功能(参考Windows 7系统科学型计算器或Ubuntu 系统基本型计算器)。 本课程设计内容是在Linux平台下开发一个简单的计算器程序,采用GCC编程工具和GTK+2.0工具包等软件为开发工具以及C语言知识实现图形化的计算器程序。该程序能够实现的对整数的加减乘除和小数的加减乘除。 三.功能分析 1.整数之间的加减乘除运算 2.小数之间的加减乘除运算 3.小数与整数之间的加减乘除运算 四.功能模块分析与设计 本计算器主要是完成整数之间、小数之间、整数和小数之间的加减乘除的运算,使用GTK+完成界面布局。 根据需求分析的结果,总体结构如下图所示:

c语言课程设计GTK+计算器的实现

目录 设计背景 (2) GTK+简介 (2) 程序实现 (3) 界面的构建 (3) 窗口的实现 (3) 按钮的实现 (4) 输入框的实现 (5) 回调函数的实现 (5) 数字键 (6) 小数点 (6) 运算符 (7) 等号 (7) 清除键 (8) 退格键 (8) 键盘事件 (8) 心得体会 (10) 参考文献 (10)

设计背景 GTK+简介 GTK+一开始是作为流行的GNU图像处理程序GIMP的一部分产生的,逐渐成为功能强大最受欢迎的工具包之一,因为变成了一个独立的项目。它是一个函数库,提供了一组已经制作好的被称为构件的组件,可以通过简单易懂的函数调用把这些组件和应用程序逻辑组合在一起,从而极大的简化了GUI的创建。 GTK+使用自由的LGPL许可证,它完全是用C语言编写的,绝大多数GTK也是用C语言编写的,也有许多语言绑定可以在C++,Python,PHP,Java中使用它。 GTK本身是建立在一组其它函数库上的,例如他需要Glib提供底层数据结构、类型、线程支持、事件循环和动态加载。 Glib和GObject提供了一组数据类型、函数和宏的标准替代集来进行内存管理和处理常见任务,从而实现跨平台开发,意味着GTK+能够可靠的移植到其他平台和体系结构上。 Glib还定义了一些方便的常量: #define FALSE 0 #define TRUE !FALSE 这些附加的数据类型基本上是标准C语言数据类型的代替,以及用于确保跨平台字节长度不变。 ●gint、guint、gchar、guchar、glong、gulong、gfloat和gdouble是标准C 语言数据类型的简单代替 ●gpointer与(void *)同义 ●gboolean 用于表示布尔类型的值,它事对int的一个包装 ●gint8、guint8、gint16、guint16、gint32和guint32是保证字节长度的有 符合和无符号类型 尽管GTK+是完全用C语言编写的,但是它通过GObjiect库支持对象和面向对象编程,这个库通过宏来支持对象继承和多态。为了方便起见,所有构件创建函数都返回一个GtkWidget类型。

一步一步学GTK+之多窗口

一、按照一定的逻辑去切割代码并实现多窗口 上一篇中完成了一个简单的软件界面,考虑到这个软件主要的目的是在软件中容纳很多控件,一个窗口中不可能全部包含进去的。所以这篇内容是我们一起来学下多窗口。既然我们要实现多窗口,那么就不能把所有代码放到一个文件中,这样会很混乱的,一个文件来放一个窗口,然后用main.c的入口文件来调度它们。使用我先把文件的结构分为: main.c——入口文件 window_main.c——主窗口文件 window_test.c——测试用的子窗口文件 common_func.c——各个窗口调用的公共函数文件 既然涉及到公共函数会被其他窗口调用,我们还需要建立一些头文件,在其中加入一些宏来防止重复包含文件。 common_func.h #ifndef __COMMON_FUNC_H__ #define__COMMON_FUNC_H__ #include GdkPixbuf *create_pixbuf(const gchar * filename); void toggle_display(GtkWidget *widget, gpointer oneofwidget); #endif// __COMMON_FUNC_H__ common.c #include "common_func.h" /* @Description: 从一个图片中获取信息得到pixbuf @param: gchar filename */ GdkPixbuf *create_pixbuf(const gchar * filename) { GdkPixbuf *pixbuf; GError *error = NULL; /* * 函数gdk_pixbuf_new_from_file() 从一个图片文件中加载图象数据,从而生成一个新的pixbuf, * 至于文件中包含图象的格式,是由系统自动检测的。如果该函数返回值是NULL 的话,程序就会出现错误。 */ pixbuf = gdk_pixbuf_new_from_file(filename, &error); if(!pixbuf) {

LINUX下GTK+实现简单计算器

摘要 随着计算机的越来越普及,学习计算机的人越来越多。作为一个学习计算机的人员,最基本的那就是必须会编程。但是在微软垄断下的现在的计算机编程大多是基于windows下的编程。设置很多人没听说过或者不会Linux下编程。本设计的目的就是为初学Linux下编程的人员提供基础的例子。让大家了解Linux下的编程。 本程序运用Linux下的工具GTK+2.0作为工具,以C语言为核心编写。简单易懂,GTK+2.0主要功能有: ●窗口与简单控件的实现 ●菜单与工具栏的实现 ●常用控件的实现 ●对话框的实现 …… 关键词:Linux GTK+2.0 Abstract As computers become increasingly popular, more and more people learn the computer. As a learning computer personnel, the most basic that we must be programmed. However, under the Microsoft monopoly in computer programming is now mostly under the windows-based programming. Set a lot of people never heard of or will not, under Linux programming. The purpose of this design is for beginners programming under Linux provides the basis of examples. Let everyone know the programming under Linux. ●Window and a simple realization of the control ●Realization of the menu and tool bar ●The realization of common control ●Realization of the dialog box …… KEYWORDS:Linux GTK+2.0

基于Linux的GTK+图形界面编程——扫雷游戏设计

基于Linux的GTK+图形界面编程——扫雷游戏设计 摘要 本篇课程设计主要说明使用Linux下的GTK+2.0库开发一个简单的扫雷程序,建立一个图片矩阵,由于图片控件不能接收事件,必须将它们放到事件盒中,才能接收到事件。这样就能处理鼠标事件以及鼠标事件对应的图片显示处理,并对用户的操作做出提示。最后可以完成基本的扫雷任务,由于本人能力有限,无法设计自定义的游戏级别,只能使用规定了的游戏级别。 关键词:linux;扫雷;GTK+;游戏

GUI PROGRAMMING BASE ON GTK+ —— MINESWEEPER GAME DESIGN ABSTRACT This course design mainly describe how to develop a minesweeper game by GTK+ library in Linux. First I create a matrix of picture, I must put they on event box for widget of picture can’t receive event. When users click on the picture, the program can deal with display of pictures and display some tips. This program can manage operator of minesweeper. But due to the limit of my ability, users can’t define the level of the game, they can only use defined level. Key words: linux; minesweeper; GTK+; Game

gtk+-安装步骤

Redhat 9.0 上安装gtk+-2.12.0的心得体会 一、首先介绍下个gtk包: 1.1什么是GTK+? GTK+是一个小型而高效的控件库,具有Motif的外观和风格.实际上,它比Motif看起来好多了,它包含有基本的控件和一些很复杂的的控件:例如文件选择控件和颜色选择控件.GTK+提供了一些独特的特性,(至少,我知道其他的控件库不提供他们),例如,按钮不提供标签,它包含了一个子控件,在很多的时候是一个标签,但是,这个子控件也可以是一个映射,图像或者任何其他的程序员想要的集合.在整个的库中,你随处可见这种伸缩性. 1.2. GTK+中的+是什么意思? GTK+中的+是什么意思?Peter Mattis的邮件这样表述: 我原来编写的gtk包含以下的三个库:libglib, libgdk and libgtk.它是一种平行的控件层次,你不能够从一个已存在的控件中得到一个新的控件,新版的gtk+包含一个比信号机制更加标准的回调机制,+用来区别原来的版本和新的版本,你可以把它看作一个加入了面向对象特性的旧版的加强版. 1.3. GTK+, GDK和GLib中的G代表什么? GTK+, GDK和GLib中的G代表什么? GTK+ == Gimp Toolkit GDK == GTK+ Drawing Kit GLib == G Library 1.4. 那里可以找到GTK+的文档? 那里可以找到GTK+的文档? 在GTK+发布版本的doc/文件夹下面, 你可以找到GTK 和GDK的参考资料,本FAQ和GTK指南.另外,你可以通过下面的网址找到这个文件HTML版本https://www.360docs.net/doc/877324391.html,/,打包的gtk指南,SGML, HTML, Postscript, DVI或text 的版本可以在下面找到 ftp://https://www.360docs.net/doc/877324391.html,/pub/gtk/tutorial 1.5运行GTK+需要安装什么 运行GTK+需要安装什么编译GTK+,你只需要一个c编译器(gcc),一个X window系统和相关的库文件. 1.6 那里可以得到GTK+ 那里可以得到GTK+ 官方网站ftp://https://www.360docs.net/doc/877324391.html,/pub/gtk. 一般新的GTK+版本发布的时候,这个网站都很拥挤,所以你可以试试下面列表中的镜像网站. ftp://https://www.360docs.net/doc/877324391.html,/etc/mirrors 下面有一些镜像网站: ?非洲- ftp://ftp.is.co.za/applications/gimp ?澳大利亚- ftp://https://www.360docs.net/doc/877324391.html,/pub/gimp ?芬兰- ftp://ftp.funet.fi/pub/sci/graphics/packages/gimp ?德国- ftp://infosoc.uni-koeln.de/pub/https://www.360docs.net/doc/877324391.html, ?日本- ftp://SunSITE.sut.ac.jp/pub/archives/packages/gimp ?英国- ftp://https://www.360docs.net/doc/877324391.html,/pub/X/gimp ?美国- ftp://https://www.360docs.net/doc/877324391.html,/pub/mirrors/https://www.360docs.net/doc/877324391.html,

gtk简易教程

大家一起用gtk编程1(开始与热身) 转贴请注明出处:https://www.360docs.net/doc/877324391.html, 作者:lvjinhua@https://www.360docs.net/doc/877324391.html, 2006.09.20 ?写在最前面 笔者写做本文的目的,主要是为初学GTK编程的新手们提供一个能够快速上手的学习档案,能够通过自己将所有的代码输入并编译,以达到学习的目的。同时,也希望它成为一个参考手册,希望GTK中的每一个API都能在本文中找到相应的示例。 笔者将尽力保证所有的代码都是最短小的,这样才能保证大家都有足够的动力去手工输入它。 由于笔者时间及精力有限,不能一次将所有内容呈现给所有读者,因此拟定了一个计划:每天更新一个章节的内容,在笔者的Blog上进行连载,同时会不断地对以前的内容进行修改和完善,因此为了保证大家能够读到最新的内容,请随时关注笔者的Blog:https://www.360docs.net/doc/877324391.html, 起笔的日子:2006.09.20 ?为什么是GTK? 为什么不是GTK?笔者不想花费太多的口水去辨证为什么选择GTK而不是其它的东西;任何技术都没有好坏之分,只有使用它的人有能力的强弱之别;笔者认为比较明智的做法是:多编些程序,少做些争论。 ?1、GTK简介 GTK (GIMP Toolkit) 是一套用于创建图形用户界面的工具包。它遵循 LGPL 许可证,所以可以用它来开发开源软件、自由软件,甚至是封闭源代码的商业软件,而不用花费任何费用来购买许可证和使用权。当前,GTK已经被成功地应用到了大量的自由软件及商业软件中,已经取得了很大的成功。 GTK 的创建者: Peter Mattis: petm@https://www.360docs.net/doc/877324391.html, Spencer Kimball: spencer@https://www.360docs.net/doc/877324391.html, Josh MacDonald: jmacd@https://www.360docs.net/doc/877324391.html, 当前,GTK主要由几大组件构成: *Gtk+:GTK的主要构件,包括所有的图形控件及大量实用的API。 *Glib:包含一些标准函数的替代函数,以及一些处理链表等数 据结构的函数等。这些替代函数被用来增强GTK 的可移植性,

linux下C语言设计GTK

设计背景 GTK+简介 GTK+一开始是作为流行的GNU图像处理程序GIMP的一部分产生的,逐渐成为功能强大最受欢迎的工具包之一,因为变成了一个独立的项目。它是一个函数库,提供了一组已经制作好的被称为构件的组件,可以通过简单易懂的函数调用把这些组件和应用程序逻辑组合在一起,从而极大的简化了GUI的创建。 GTK+使用自由的LGPL许可证,它完全是用C语言编写的,绝大多数GTK也是用C语言编写的,也有许多语言绑定可以在C++,Python,PHP,Java中使用它。 GTK本身是建立在一组其它函数库上的,例如他需要Glib提供底层数据结构、类型、线程支持、事件循环和动态加载。 Glib和GObject提供了一组数据类型、函数和宏的标准替代集来进行内存管理和处理常见任务,从而实现跨平台开发,意味着GTK+能够可靠的移植到其他平台和体系结构上。 Glib还定义了一些方便的常量: #define FALSE 0 #define TRUE !FALSE 这些附加的数据类型基本上是标准C语言数据类型的代替,以及用于确保跨平台字节长度不变。 ●gint、guint、gchar、guchar、glong、gulong、gfloat和gdouble是标准C 语言数据类型的简单代替 ●gpointer与(void *)同义 ●gboolean 用于表示布尔类型的值,它事对int的一个包装 ●gint8、guint8、gint16、guint16、gint32和guint32是保证字节长度的有 符合和无符号类型 尽管GTK+是完全用C语言编写的,但是它通过GObjiect库支持对象和面向对象编程,这个库通过宏来支持对象继承和多态。为了方便起见,所有构件创建函数都返回一个GtkWidget类型。 程序实现 要实现本次课程设计要求,首先考虑的是将图形界面和回调函数分开来实现,图形界面通过窗口、按钮、盒、文本框等GTK+构件即可实现,而回调函数应该分

GTK主题创作指南

GTK主题创作指南 author: Tim Orford date: Jan 06作者: Tim Orford日期: Jan 06 Contents内容 introduction简介 general widget properties一般部件性能 gtkrc files gtkrc文件 widget examples小工具的例子 fonts字体 key bindings键绑定 engines发动机 icons图标 cursors游标 further reading进一步阅读 introduction:简介: Gtk programmers will tell you that writing a gtk theme is easy. gtk的程序员会告诉你,写一个GTK主题是容易的。 If you have a full understanding of how gtk is put together, then that may be so, but if you dont have an intimate knowledge of the gtk api and you want to change the visual appearance of your gtk apps then this document may hopefully save you some swearing while you go through the process of trial and error trying to figure out what works and what doesnt.如果你有一个这么全面了解了GTK 是放在一起,那么这可能,但如果你没有一个熟悉的GTK的API的,你要改变你的GTK应用程序外观特征那么这个文件可能希望为您节省一些脏话,而你经过审讯过程中的错误,并试图找出什么可行,什么doesn't。 Its not difficult stuff, but can appear to be somewhat random and non-intuitive due to its close correlation with the underlying widget structure.它的东西并不难,但可以显得有些随机和非直观的部件,由于其结构与基础密切相关。 This document applies only to Gtk2, although Gtk1.2 themes are quite similar.本文件仅适用于与gtk2,虽然Gtk1.2主题非常相似。 Warning: this document is incomplete. The https://www.360docs.net/doc/877324391.html, tutorial may be useful.警告:本文件是不完整的。https://www.360docs.net/doc/877324391.html,教程可能是有用的。 theme browsing主题浏览

使用GTK+库实现一个扫雷程序

使用GTK+库实现一个扫雷程序 目录 目录 (1) 1 最基本的GTK+程序 (2) 2 事件处理与界面布局 (6) 3 扫雷程序 (10)

1 最基本的GTK+程序 1.1 GTK库的主要功能 GTK+,这个库实现的功能有, 1 图形显示 (Display) 2 事件处理 (Event) 1.2 GTK库的基本要素 GTK+的主要函数和数据结构包括以下三个部分: 1 控制流程(Control Flow) 2 控件管理(Manage Widget) 3 事件处理(Dispose Event) 1.3 一个最基本的GTK+程序 现在以一个简单的程序进行说明:

代码:simple.c ---------------------------------------- 01 #include 02 03 int main(int argc, char**argv) 04 { 05 GtkWidget *window; 06 GtkWidget *label; 07 gtk_init(&argc, &argv); 08 window=gtk_window_new(GTK_WINDOW_TOPLEVEL); 09 g_signal_connect(G_OBJECT(window), "delete_event", 10 gtk_main_quit, NULL); 11 label=gtk_label_new("GTK+"); 12 gtk_container_add(GTK_CONTAINER(window), label); 13 gtk_widget_show_all(window); 14 gtk_main(); 15 return 0; 16 } ---------------------------------------- 对代码进行简单说明:

gtk做个按钮界面

gtk做个按钮界面 #include #include #include #include Display* disp ; FakeKey *fk; static char *keyboard_display[] = { "A/0", "B/0", "C/0", "D/0", "E/0", "F/0", "G/0" }; static gushort keyboard_send[] = { XK_A, XK_B, XK_C, XK_D, XK_E, XK_F, XK_G }; void da_call (GtkDialog *dialog, gint response_id, gpointer user_data) { if (GTK_RESPONSE_OK == response_id) g_print("OK_Pressed"); else if (GTK_RESPONSE_CANCEL == response_id) g_print("CANCEL_Pressed"); } gboolean bt_release (GtkWidget *widget, GdkEventButton *event, gpointer user_data) { gint i = GPOINTER_TO_UINT(user_data); fakekey_press_keysym(fk, keyboard_send[i], 0); fakekey_release(fk); return TRUE; } void clicked_callback(GtkButton *button, GtkWindow *window) {

Gtk 分栏列表框

G t k C L i s t (分栏列表构件)是G t k L i s t (列表构件)的替代品,但它提供更多的特性。分栏列表构件是多列列表构件,它有能力处理数千行的信息。每一列都可以有一个标题,而且可以是活动的。你还可以将函数绑定到列选择上。 -------------------------------------------------------------------------------- 创建分栏列表构件GtkCList 创建G t k C l i s t构件的方法和创建其他构件的方法是类似的。有两种方法,一种是容易的,一种是难的。因为G t k C L i s t可以有多列,因而在创建它之前,必须确定要创建的列表的列数。 GtkWidget *gtk_clist_new ( gint columns ); GtkWidget *gtk_clist_new_with_titles( gint columns,gchar *titles[] ); 第一种方式很简单,而第二种需要作一些解释。每一列都可以有一个与之相联系的标题,标题可以是一个标签构件,或者是一个按钮,只要能够对我们的动作作出响应。如果要使用第二种方式,则必须提供一个指向标题文本的指针,指针数目应该与列数相等。当然,我们可以用第一种方式,然后再手工添加标题以达到相同的目的。 注意,分栏列表构件没有自己的滚动条,如果要提供滚动条功能,应该将分栏列表构件放在一个滚动窗口构件中。 -------------------------------------------------------------------------------- 操作模式 有几个可以用于改变分栏列表构件行为的属性。先看下面这个: void gtk_clist_set_selection_mode( GtkCList *clist,GtkSelectionMode mode ); 就像函数名所暗示的一样,它设置了分栏列表的选择模式。第一个参数是要设置的分栏列表构件,第二个参数是单元的选择模式(取值在g t k e n u m s . h中有定义)。目前,有下面这些模式可以使用: ? G T K _ S E L E C T I O N _ S I N G L E:选定内容为N U L L,或包含一个指向单个被选中项目的G l i s t指针。 ? G T K _ S E L E C T I O N _ B R O W S E:如果G t k C L i s t中不包含构件,或只包含不敏感的构件, 则选定内容为N U L L。否则,它包含一个指向G L i s t结构的G L i s t指针,因而包含一个列表项。 ? G T K _ S E L E C T I O N _ M U LT I P L E:如果没有列表项被选中,选定内容为NULL ;或者选定内容是一个指向第一个被选中列表项的指针。然后依次指向G L i s t结构中第二个被选中的列表项,等等。对G t k C L i s t来说这是缺省模式。 ? GTK_SELECTION_EXTENDED:选中内容总是N U L L。 在G T K今后的版本中可能会增加其他模式。 还可以定义分栏列表构件的边框。使用以下函数完成定义:

GTK学习个人笔记

推荐https://www.360docs.net/doc/877324391.html, 可是目前GTK+的stable版式 2.18 ,unstable版是2.19.3 哪里跑出来的2.8和2.4呀。原来↓:

GtkWidget* gtk_button_new_from_stock (const gchar *stock_id) 从一个"常备项目/固化词条/glib提供的固有原料"(stock item),创建一个GtkButton包含图像和文本. 一些stock ids具有预处理宏,例如GTK_STOCK_OK和GTK_STOCK_APPLY. 如果遇到不识别的stock_id, 那么他们将被视为mnemonic label (参见gtk_button_new_with_mnemonic()). stock_id :the name of the stock item Returns:a new GtkButton gtk_button_new () GtkWidget* gtk_button_new (void) 创建一个新的GtkButton构件(widget). 用gtk_container_add()为button构件添加一个子构件。 Returns :The newly created GtkButton widget. gtk_box_pack_start () void gtk_box_pack_start (GtkBox *box, GtkWidget *child, gboolean expand, gboolean fill, guint padding) 为BOX添加child, 从box的起点开始装入child. 这个child被装入后,其他的任何child装入时都将从起点装入child。(从左向右,从上到下) box :一个GtkBox child :被添加到box中的GtkWidget expand : TRUE if the new child is to be given extra space allocated to box. The extra space will be divided evenly between all children of box that use this option fill : TRUE if space given to child by the expand option is actually allocated to child, rather than just padding it. 如果expand 被设为FLASE的时候,这个属性将无效. A child is allocated the full height of a GtkHBox and the full width of a GtkVBox. This option affects the other dimension padding : extra space in pixels to put between this child and its neighbors, over and above the global amount specified by "spacing" property. If child is a widget at o reference ends of box, then padding pixels are also put between child and the reference edge of box ---------------------------- gtk_box_pack_end () void gtk_box_pack_end (GtkBox *box, GtkWidget *child, gboolean expand, gboolean fill, guint padding) 为BOX添加child, 从box的尾部(end)开始装入child. 这个child被装入后,其他的任何child装入时都将从尾部(end)装入child。(从右向左,从下到上) 其他同上记gtk_box_pack_start()。 expand / fill / padding 参数的动作,基本如下图

相关主题
相关文档
最新文档