/*
我已经把代码写在此处  希望借鉴和完善!一起加油奥(PS:我的QQ是1693672542欢迎加我一起进行探讨学习奥!!!)
*/
#include <stdio.h>
#include<gtk/gtk.h>
int main(int argc, char *argv[])
{
        gtk_init(NULL,NULL);
        GtkWidget *window=gtk_window_new(GTK_WINDOW_TOPLEVEL);//创建窗口
        gtk_window_set_title(window,"欢迎加入如鹏网(www.rupeng.com)");//设置标题栏
        //采用网格布局
        GtkGrid *grid=gtk_grid_new();
        gtk_container_add(window,grid);
        gtk_widget_show(grid);
        //创建第一个标签
        GtkLabel *labelname=gtk_label_new("用户名:");
        gtk_grid_attach(grid,labelname,0,0,1,1);
        gtk_widget_show(labelname);
        //创建第一个文本框
        GtkEntry *entryname=gtk_entry_new();
        gtk_grid_attach(grid,entryname,1,0,2,1);
        gtk_widget_show(entryname);
        //创建第二个标签
        GtkLabel *labelsex=gtk_label_new("性别:");
        gtk_grid_attach(grid,labelsex,0,1,1,1);
        gtk_widget_show(labelsex);
        //创建第二个文本框
        GtkEntry *entrysex=gtk_entry_new();
        gtk_grid_attach(grid,entrysex,1,1,2,1);
        gtk_widget_show(entrysex);
        //创建第三个标签
        GtkLabel *labelcode=gtk_label_new("密码:");
        gtk_grid_attach(grid,labelcode,0,2,1,1);
        gtk_widget_show(labelcode);
        //创建第三个文本框
        GtkEntry *entrycode=gtk_entry_new();
        gtk_grid_attach(grid,entrycode,1,2,2,1);
        gtk_widget_show(entrycode);
        //创建第一个按钮(隐藏起来)
        GtkButton *buttonhide1=gtk_button_new();
        gtk_button_set_label(buttonhide1,"");
        gtk_grid_attach(grid,buttonhide1,0,3,1,1);
        gtk_widget_hide(buttonhide1);
        //创建第二个按钮(登陆)
        GtkButton *buttonland=gtk_button_new();
        gtk_button_set_label(buttonland,"登陆");
        gtk_grid_attach(grid,buttonland,1,3,1,1);
        gtk_widget_show(buttonland);
        //创建第三个按钮(关闭)
        GtkButton *buttonclose=gtk_button_new();
        gtk_button_set_label(buttonclose,"关闭");
        gtk_grid_attach(grid,buttonclose,2,3,1,1);
        gtk_widget_show(buttonclose);
        
        gtk_widget_set_size_request(window,350,70);
        gtk_window_set_position(window,GTK_WIN_POS_CENTER_ALWAYS);//窗口显示在屏幕正中央
        gtk_widget_show(window);//显示窗口
        g_signal_connect(window,"destroy",gtk_main_quit,NULL);//销毁窗口
        gtk_main();
        return 0;
}

第一个GTK程序的更多相关文章

  1. 第一个GTK+程序

    在这一章节中,我们将开始编写第一个GTK+程序. 超级简单的例子 我们要“制造”一个超级简单的GTK+程序.就是显示一个空白的窗口. #include <gtk/gtk.h> int ma ...

  2. GTK+2.0学习——第一个GTK程序

    #include <gtk/gtk.h> #include <stdio.h> #include <stdlib.h> /* *点击了关闭按钮之后的回调函数 *gt ...

  3. Ubuntu下在Eclipse IDE for C/C++ Developers中怎样执行C语言的GTK程序?(已解决)

    (已解决.详见Ubuntu 12.04下在Eclipse IDE for C/C++ Developers中执行C语言的GTK程序) 按"Ubuntu下GTK的安装.编译和測试"( ...

  4. DirectX游戏编程(一):创建一个Direct3D程序

    一.环境 Visual Studio 2012,DirectX SDK (June 2010) 二.准备 1.环境变量(如没有配置请添加) 变量名:DXSDK_DIR 变量值:D:\Software\ ...

  5. 第一个python程序

    一个python程序的两种执行方式: 1.第一种方式是通过python解释器: cmd->python->进入python解释器->编写python代码->回车. 2.第二种方 ...

  6. 编写第一个MapReduce程序—— 统计气温

    摘要:hadoop安装完成后,像学习其他语言一样,要开始写一个“hello world!” ,看了一些学习资料,模仿写了个程序.对于一个C#程序员来说,写个java程序,并调用hadoop的包,并跑在 ...

  7. 1.3 第一个C#程序

    几乎没一门编程语言的第一个程序都叫“你好,世界”,所以先在visual studio 中创建一个Helloworld程序. 各部分的详细内容: Main方法是程序运行的起点,最重要的代码就写在Main ...

  8. 一个.net程序员的安卓之旅-Eclipse设置代码智能提示功能

    一个.net程序员的安卓之旅-代码智能提示功能 过完年回来就决心开始学安卓开发,就网上买了个内存条加在笔记本上(因为笔记本原来2G内存太卡了,装了vs2010.SQL Server 2008.orac ...

  9. MFC-01-Chapter01:Hello,MFC---1.3 第一个MFC程序(02)

    1.3.1 应用程序对象 MFC应用程序的核心就是基于CWinApp类的应用程序对象,CWinApp提供了消息循环来检索消息并将消息调度给应用程序的窗口.当包含头文件<afxwin.h>, ...

随机推荐

  1. vim中凝视多行python代码

    在vim中凝视多行python代码比較麻烦,主要由下面几种方法: (1)将须要凝视的代码以文档字符串的形式呈现 (2)将须要凝视的代码以函数的形式呈现 (3)使用vim自身快捷键 我们主要使用第三种方 ...

  2. ubuntu下一款有点感觉的 linux音乐播放器 clementine(小橘子))

    https://www.clementine-player.org/ 在linux听音乐的感觉确实不是很好,音乐播放器很多.但是仅仅只是数量上的优势,在确实不是很好用.自带的rhythmbox确实很占 ...

  3. 托管在IIS上的wcf,在启动的时候,写log

    https://blogs.msdn.microsoft.com/wenlong/2006/01/11/how-to-initialize-hosted-wcf-services/ Using App ...

  4. 在linux查看内存的大小

    用free -m查看的结果: # free -m          total    used    free     shared buffers     cached Mem:           ...

  5. 0509 关于Ajax + 三级联动示例

    关于Ajax 1.干什么的? ajax负责抓取用户名信息,传递给服务器进行校验: 2.属性: onreadystatechange:事件,该事件可以感知ajax状态(readyState)的变化.aj ...

  6. DNS(域名系统)

    DNS(Domain Name System),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的Ip数串.通过主机名,最终得到该主机 ...

  7. Appium - 命令行参数

    1.cmd端口输入,appium -help参考帮助信息 2.Appium - 命令行参数 参数 默认 描述 举个例子 --shell 空值 进入REPL模式   --ipa 空值 (仅限IOS)ab ...

  8. python中使用pip安装报错:Fatal error in launcher... 解决方法

    python安装了2和3版本在 cmd 中用pip报的错误为:Fatal error in launcher:Unable to create process using 这是因为你安装了python ...

  9. 知识总结1:debug命令汇总(一)

    -r 得到当前寄存器状态或修改寄存器状态 -d 跳到默认(CS:IP指定的地址)区间 -d 段地址:偏移地址 跳到(段地址*+偏移地址)区间 -d 段地址:起始偏移地址 终止偏移地址 跳到(段地址*+ ...

  10. 虚拟机下不能运行gazebo

    bug描述: VMware: vmw_ioctl_command error Invalid argument. 解决方式:设置环境变量 export SVGA_VGPU10=0 或者 echo &q ...