您的位置:首页 > 其它

GTK自定义函数之控件大小、颜色(3)

2014-08-27 15:46 253 查看
本文章介绍常用控件字体大小和颜色设置,但不支持所有控件,具体是否支持某一控件,请测试

接口函数源代码,请查看《GTK自定义函数(1)》,具体介绍和相关demo请看以下内容:

GTK自定义函数源码下载

[cpp] view
plaincopyprint?





/**************************************************

* 函数功能: 设置控件字体大小

* 参数类型:

* widget: 需要改变字体的控件

* size: 字体大小

* is_button: TRUE代表控件为按钮,FALSE为其它控件

* 返回类型:成功返回0,失败返回-1

* 维护记录:2013-12-18 by lihuibo

**************************************************/

extern int sungtk_widget_set_font_size(GtkWidget *widget, int size, gboolean is_button);

/***********************************************

* 函数功能:获取一个GdkColor类型

* 参数类型:color_buf:设置字体颜色,如"red"、"blue"

color:存放GdkColor类型地址

* 返回类型:成功返回0,失败返回-1

* 维护记录:2013-12-18 by lihuibo

***********************************************/

extern int sungtk_color_get(const char *color_buf, GdkColor *color);

通过一个颜色字符串获取到一个color类型

/***********************************************

* 函数功能:设置控件字体颜色

* 参数类型:widget:需要改变颜色的控件

color_buf:设置字体颜色,如"red"、"blue"

is_button:是否为button

* 返回类型:成功返回0,失败返回-1

* 维护记录:2013-12-18 by lihuibo

***********************************************/

extern int sungtk_widget_set_font_color(GtkWidget *widget, const char *color_buf, gboolean is_button);

[cpp] view
plaincopyprint?





#include <gtk/gtk.h>

#include"sungtk_interface.h"

void callback1(GtkWidget *button, gpointer data)

{

sungtk_button_set_image(button, "./image/play.bmp", 0, 0);//按钮修改图片

}

int main(int argc, char *argv[])

{

gtk_init(&argc, &argv);

GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

gtk_window_set_title((GtkWindow *)window, "Hello");

gtk_widget_set_size_request(window, 400,300);

GtkWidget *table = gtk_table_new(5, 5, TRUE);

gtk_container_add(GTK_CONTAINER(window), table);

//带图片按钮

GtkWidget *button1 = sungtk_button_new_with_image("./image/next.bmp", 0, 0);

gtk_table_attach_defaults(GTK_TABLE(table), button1, 0, 1, 0, 1);

g_signal_connect(button1, "clicked", G_CALLBACK(callback1), NULL);

//image控件

GtkWidget *label = gtk_label_new("sunplusedu");

sungtk_widget_set_font_color(label, "red", FALSE);

sungtk_widget_set_font_size(label, 15, FALSE);

gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2);

// 按钮设置颜色和大小

GtkWidget *button2 = gtk_button_new_with_label("button2");

sungtk_widget_set_font_color(button2, "red", TRUE);

sungtk_widget_set_font_size(button2, 12, TRUE);

gtk_table_attach_defaults(GTK_TABLE(table), button2, 0, 1, 2, 3);

//带label和image按钮,label不能用提供的接口这是大下和颜色

GtkWidget *button3 = sungtk_button_new_with_label_and_image("./image/pause.bmp", "sunplusedu", 80, 80);

gtk_table_attach_defaults(GTK_TABLE(table), button3, 2, 4, 2, 4);

gtk_widget_show_all(window);

gtk_main();

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: