GCC/GTK环境搭建和一些基本控件的使用

GCC配置路径:

运行路径配置:

GTK配置路径:

参数:

$(FileName) -w -o $(FileNameNoExt).exe  -II:\Study\rupengc\gtk\include -II:\Study\rupengc\gtk\include\gtk-3.0 -II:\Study\rupengc\gtk\include\cairo -II:\Study\rupengc\gtk\include\gdk -II:\Study\rupengc\gtk\include\glib-2.0 -II:\Study\rupengc\gtk\lib\glib-2.0\include -II:\Study\rupengc\gtk\include\pango-1.0 -II:\Study\rupengc\gtk\include\atk-1.0 -II:\Study\rupengc\gtk\include\gdk-pixbuf-2.0  -LI:\Study\rupengc\gtk\lib -lgtk-win32-3.0 -lgobject-2.0 -lglib-2.0 -lgdk-win32-3.0  -lgdk_pixbuf-2.0 -lcairo -mwindows 

Code:

#include<stdio.h>
#include<gtk/gtk.h>  //引入GTK文件
int main()
{
 gtk_init(NULL,NULL); //初始化GTK环境
 GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);  //创建一个窗口
 gtk_window_set_title(window,"丁小未");  //设置窗口标题
 g_signal_connect(window,"destroy",gtk_main_quit,NULL); //
 gtk_widget_show(window); //显示窗口
 gtk_main(); //
 return 0;
} 

效果:

GTK继承关系:

Widget控件:

void gtk_widget_show(widget):显示。int整数

void gtk_widget_hide(widget):隐藏

void gtk_widget_set_sensitive(widget, sensitive):禁用。boolean(布尔类型)只有true(真/是)、false(假/否)两个值。

void gtk_widget_set_size_request(int widget,int width, int height) 设置“建议的”大小

void gtk_widget_destroy(widget)销毁

gtk_window_set_resizable(window, resizable);设置是否可以缩放。

gtk_window_set_position(window, GTK_WIN_POS_CENTER_ALWAYS)显示在屏幕正中间

void gtk_window_maximize(window)最大化

void gtk_container_add(container, widget):从container继承。比如可以将子控件widget添加到window中,window中只能有一个子控件。

Code:

//输入框(GtkEntry)

 //GtkEntry *entry1 = gtk_entry_new(); //创建一个输入框

 //gtk_container_add(window,entry1); //添加到窗口

 //gtk_widget_show(entry1); //显示出来

 //添加按钮(GtkButton)

 //GtkButton * btn1 = gtk_button_new();

 //gtk_button_set_label(btn1,"点我呀");

 //gtk_container_add(window,btn1);

 //gtk_widget_show(btn1);

 //添加标签(GtkLabel)

 GtkLabel * label1 = gtk_label_new("姓名:");

 gtk_container_add(window,label1);

 gtk_widget_show(label1);

容器控件:(window控件只能容纳一个子控件,能加入多个子控件的控件)

Code:

//GtkBox(容器)控件
#include<stdio.h>
#include<gtk/gtk.h>  //引入GTK文件
int main()
{
 gtk_init(NULL,NULL); //初始化GTK环境
 GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);  //创建一个窗口
 gtk_window_set_position(window,GTK_WIN_POS_CENTER_ALWAYS);//设置窗口居中
 gtk_window_set_title(window,"丁小未");  //设置窗口标题
 g_signal_connect(window,"destroy",gtk_main_quit,NULL); //
 gtk_widget_show(window); //显示窗口

 GtkBox *box1 = gtk_box_new(GTK_ORIENTATION_VERTICAL,0);

 GtkButton * btn1 = gtk_button_new();
 gtk_button_set_label(btn1,"小清新");
 gtk_box_pack_start(box1,btn1,FALSE,FALSE,0);
 gtk_widget_show(btn1);

 GtkButton * btn2 = gtk_button_new();
 gtk_button_set_label(btn2,"小屌丝");
 gtk_box_pack_start(box1,btn2,FALSE,FALSE,0);
 gtk_widget_show(btn2);

 GtkEntry *entry1 = gtk_entry_new(); //创建一个输入框
 gtk_box_pack_start(box1,entry1,FALSE,FALSE,0);
 gtk_widget_show(entry1); //显示出来

 gtk_widget_show(box1);

 gtk_container_add(window,box1);

 gtk_main();
 return 0;
} 

效果:

时间: 2024-08-22 14:54:41

GCC/GTK环境搭建和一些基本控件的使用的相关文章

ASP.NET 环境下的页面验证控件

验证控件用于验证用户的输入,利用这些控件,开发人员可以轻松的实现对用户输入的验证.ASP.NET提供了六种验证控件. 1.Required Field Validator:验证输入是否为空的控件. 主要属性: Control To Validate:表示要进行检查的控件ID.此属性必须设置为输入控件的ID,否则会发生异常.另外该ID所代表的控件必须和验证控件在同一个容器中. Error Message:表示当检测不合法时,出现的错误提示信息. Display:表示错误的显示方式,取值有Stati

打造一个通用ASP.NET数据分页控件

asp.net|分页|控件|数据 对于几乎所有的数据表现Web应用来说,组织好数据的显示方式.避免给用户带来混乱的感觉就是最主要的目标之一.每个页面显示20条记录当然是可以接受的,但每页显示10000条记录就很容易给用户带来不便了.将数据分成多个页面显示,即对数据进行分页,是解决此类问题的最常见的办法. 一.慨述 ASP.NET本身只提供了一个支持数据分页的控件,即DataGrid分页控件,不过它比较适合Intranet环境使用,对于Internet环境来说,DataGrid分页控件提供的功能似

一个相当独立的.通用分页控件c#源码

分页|控件      通用ASP.NET数据分页控件 对于几乎所有的数据表现Web应用来说,组织好数据的显示方式.避免给用户带来混乱的感觉就是最主 要的目标之一.每个页面显示20条记录当然是可以接受的,但每页显示10000条记录就很容易给用户带来不便了.将数据分成多个页面显示,即对数据进行分 页,是解决此类问题的最常见的办法. 一.慨述 ASP.NET本身只提供了一个支持数据分页的控件,即 DataGrid分页控件,不过它比较适合Intranet环境使用,对于Internet环境来说,DataG

打造通用ASP.NET数据分页控件

asp.net|分页|控件|数据 对于几乎所有的数据表现Web应用来说,组织好数据的显示方式.避免给用户带来混乱的感觉就是最主要的目标之一.每个页面显示20条记录当然是可以接受的,但每页显示10000条记录就很容易给用户带来不便了.将数据分成多个页面显示,即对数据进行分页,是解决此类问题的最常见的办法. 一.慨述 ASP.NET本身只提供了一个支持数据分页的控件,即DataGrid分页控件,不过它比较适合Intranet环境使用,对于Internet环境来说,DataGrid分页控件提供的功能似

一个支持各种交叉等形状工业控制管道控件的实现

介绍 工业控制系统编程过程中,在模拟现场等环境系统中,管道控件是一个非常重要并且非常有用的控件.很多工业组态软件能够利用他的图形库制作出来非常漂亮的三维现场画面,这样给程序注入了很多的生机.而在个人编写的工业程序中,由于没有图形库等支持,那么显示就显得非常的单调.如果我们可以加入此类控件的支持,则会使得我们的程序变得更加的专业. 正文 现在网络上也有一部分提供了管道控件的编程方法,不过基本上都是比较粗糙,效果不理想,而且在管道实体经常有各种的交叉等形状,而网络上面几乎找不到那种支持各种形状的管道

用ATL和MFC来创建ActiveX控件

摘要目前MFC和ATL代表了两种框架,分别面向不同类型的基于Windows的开发.MFC代表了创建独立的Windows应用的一种简单.一致的方法:ATL提供了一种框架来实现创建COM客户机和服务器所必须的样板文件代码.这两种框架在它们对于开发ActiveX的用途上会合了.我们将看看这两种框架是如何适用于创建ActiveX控件的--突出其优缺点,亲自经历创建一个控件的过程--以便你能够决定何时使用一种框架,何时使用另一种. 如果你希望用C++来写ActiveX控件,有两个流行的框架,一个是Micr

C#开发ActiveX控件操作指南

C#开发ActiveX控件在开发Web页面中是十分有用的,下面提供了C#开发ActiveX控件操作指南,供大家学习参考. 0. 前言 ActiveX控件以前也叫做OLE控件或OCX控件,它是一些软件组件或对象,可以将其插入到WEB网页或其它应用程序中.使用ActiveX插件,可以轻松方便的在 Web页中插入多媒体效果.交互式对象以及复杂程序等等. 通常使用C++或VB开发ActiveX控件,本文探讨一下在Visual Studio 2005环境中使用C#开发ActiveX控件的技术实现. 1.

利用ArcGIS Engine、VS .NET和Windows控件开发GIS应用

原文:利用ArcGIS Engine.VS .NET和Windows控件开发GIS应用 此过程说明适合那些使用.NET建立和部署应用的开发者,它描述了使用ArcGIS控件建立和部署应用的方法和步骤. 你可以在下面的目录下找到相应的样例程序: <安装目录>\DeveloperKit\Samples\Developer_Guide_Scenarios\ ArcGIS_Engine\Building_an_ArcGIS_Control_Application\Map_Viewer 注:ArcGIS样

基于MFC的ActiveX控件开发

ActiveX 控件是基于组件对象模型 (COM) 的可重用软件组件,广泛应用于桌面及Web应用中.在VC下ActiveX控件的开发可以分为三种,一种是直接用COM的API来开发,这样做显然非常的麻烦,对程序员要求也非常高,因此一般是不予考虑的:一种是基于传统的MFC,采用面向对象的方式将COM的基本功能封装在若干MFC的C++类中,开发者通过继承这些类得到COM支持功能.MFC为广大VC程序员所熟悉,易于上手学习,但缺点是MFC封装的东西比较多,因此用MFC开发出来的控件相对会比较大,因此比较