[代码实例][gtk+]创建按钮

二、Gtk4-GtkApplication and GtkApplicationWindow 人们编写编程代码来开发应用程序。什么是应用程序?应用程序是使用库运行的软件,其中包括操作系统、框架等。在GTK 4编程中,GTK应用程序是使用GTK库运行的程序(或可执行程序)。编写GtkApplication的基本方法如下。这是所有。非常简单。下面是代表上述方法的C代码。第一行说明这个程序包含Gtk库的头文件。函数main是C语言中的一个启动函数。变量app被定义为一个指向GtkApplication实例的指针。 阅读详情
#include <gtk/gtk.h>

static void activate(GtkApplication * app, gpointer user_date);
static void print_hello(GtkWidget *widget, gpointer data);

int main(int argc, char * argv[])
{
    GtkApplication * app;
    int status;

    app = gtk_application_new("org.gtk.example", G_APPLICATION_FLAGS_NONE);
    g_signal_connect(app, "activate", G_CALLBACK(activate), NULL);
    status = g_application_run(G_APPLICATION(app), argc, argv);
    g_object_unref(app);

    return status;
}

static void activate(GtkApplication * app, gpointer user_date)
{
    GtkWidget * window;
    GtkWidget * button_box;
    GtkWidget * button;

    window = gtk_application_window_new(app);
    gtk_window_set_title(GTK_WINDOW(window), "Window");
    gtk_window_set_default_size(GTK_WINDOW(window), 200, 200);

    button_box = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
    gtk_container_add(GTK_CONTAINER(window), button_box);

    button = gtk_button_new_with_label("Hello World");
    g_signal_connect(button, "clicked", G_CALLBACK(print_hello), NULL);
    g_signal_connect_swapped(button, "clicked", G_CALLBACK(gtk_widget_destroy), window);
    gtk_container_add(GTK_CONTAINER(button_box), button);

    gtk_widget_show_all(window);
}

static void print_hello(GtkWidget *widget, gpointer data)
{
    g_print("Hello World\n");
}

Makefile:

main: main.c
    gcc main.c -o main `pkg-config --cflags --libs gtk+-3.0`
GTK+学习笔记3——按钮构件 GTK+ 的按钮构件有很多种,常用的有如下四个: GtkButton:普通按钮 GtkToggleButton:开关按钮 GtkCheckButton:复选按钮 GtkRadioButton:单选按钮 这四个构件的继承关系如下: GtkButton: GtkButton就是普通的按钮,带有多种信号,常用的有以下三种: leave:鼠标离开按钮时触发的信号; pre 阅读详情

相关推荐

Linux下的Gtkmm编程实验

本文将介绍一些在Linux下使用Gtkmm进行编程的实验,并提供相应的源代码。在开始Gtkmm编程之前,我们需要确保在Linux系统中安装了Gtkmm库。通过这些实验,你可以开始在Linux下使用Gtkmm进行GUI编程。Gtkmm提供了丰富的功能和灵活的布局管理器,使得开发用户友好的应用程序变得更加简单和方便。编译和运行上述代码,将创建一个带有一个按钮的窗口。编译和运行上述代码,将创建一个带有两个按钮的窗口,这些按钮将按照网格布局排列。编译和运行上述代码,将创建一个大小为200x200的空白窗口。

LogicGuruX的博客 296

GtkApplication函数使用

创建GtkApplication实例 GtkApplication *gtk_application_new (const gchar *application_id,GApplicationFlags flags); 示例: GtkApplication *app = gtk_application_new("org.gnome.wong",G_APPLICATION_FLAGS_NONE);...

weixin_40763897的博客 2699

gtk之button的设置

在linux下实现gtk的button按钮的常规设置,里面有可执行代码,可以直接运行

GtkButton常用控制件

栗子 : button.c图片 :Makefile。

实力派,无需多言! 598

GTK常用控件之按钮源代码

GTK常用控件之按钮源代码,相关教程链接如下: http://blog.youkuaiyun.com/tennysonsky/article/details/43058269

c#使用gtk编写图形界面

c#使用gtk编写图形界面

GtkButton事件处理、事件的捕获、鼠标事件等

GTK+所提供的工具库与其应用程序都是基于来管理, 所有的应用程序都是基于。如果没有事件发生, 应用程序将处于状态, 不会执行任何操作, 一旦事件发生, 将根据不同的事件做出相应的处理。在GTK+中,当一个事件发生时, 程序就会通过发送一个来通知应用程序执行相关的操作, 即调用与这一信号进行连接的, 来完成一次由事件所触发的行动。

实力派,无需多言! 2100

【 Git学习记录(三)】推荐四款主流的Git代码托管平台 —— GitHub、GitLab、Gitee、Coding

了解过Git之后,作为一个程序猿最基本的,你还需要了解目前主流的在线代码托管平台,并至少选择其中一款在平时开发中使用。这里特别介绍以下四款: 国外平台 GitHub —— 全球最流行的代码托管平台 GitLab —— 基于git的仓库管理程序 国内平台 Gitee —— 开源中国旗下的代码托管平台 Coding —— 支持社交元素的代码托管平台 一. GitHub 链接地址:https://github.com/ GitHub目前是全球最流行的代码托管平台(别称:全球最大的同性交友.

JZevin的博客 6091

GTK常用控件之按钮( GtkButton )

按钮在GUI里应用最为广泛,我们几乎能在所有的界面中看到按钮。 空按钮的创建(按钮上没有任何内容): GtkWidget *gtk_button_new(void); 返回值:按钮指针 创建带文本内容的按钮: GtkWidget *gtk_button_new_with_label (const gchar *label); label:文本内容

秋叶原 && Mike || 麦克 1万+

组合导航(八):INS/GPS组合导航

INS/GPS组合导航1 误差反馈1.1 开环INS/GPS架构1.2 闭环INS/GPS架构2 组合导航的类型2.1 松耦合 的INS/GPS组合导航2.2 紧耦合 的INS/GPS组合导航2.3 深度耦合的 INS/GPS组合导航3 INS方程的动态误差模型4 松耦合的INS/GPS组合导航模型4.1 系统模型4.2 测量模型4.3 INS/GPS松耦合总框图5 紧耦合的INS/GPS组合导航模型5.1 系统模型5.2 测量模型 INS/GPS组合导航 对比INS与GPS导航方法,二者都有其各自的优.

weixin_43793960的博客 3万+

RenderDoc实战:5分钟搞定安卓Vulkan应用抓帧(含常见连接失败排查)

本文详细介绍了如何使用RenderDoc工具对安卓Vulkan应用进行抓帧分析,包括环境配置、完整抓帧流程及常见连接问题的解决方案。通过实战案例和高级技巧,帮助开发者快速定位渲染问题和性能瓶颈,提升移动图形开发效率。

weixin_28318011的博客 281

GTK+图形化应用程序开发学习笔记(六)—按钮

一、常用构件函数 最常用的构件是按钮构件、录入字段构件、列表框构件和复合框构件。所有建立按钮的函数返回指向GtkWidget的指针。GtkWidget指针能够调用对构件进行操作的通用函数。函数gtk_widget_show是通用函数的例子。 由于建立的构件是通用的构件,需要将它转换为正确的类型以适合调用更为专用的函数。如:建立按钮函数返回GtkWidge...

weixin_34272308的博客 103

未连接互联网的银河麒麟v10安装g++,各种报错,如何处理?

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!! 备注:部分问题/疑难杂症搜集于互联网。

**My Coding Family** 1803

图形界面开发_嵌入式设备GUI开发:GTK+图形界面库(进阶)

一、带有按钮的窗口 开发流程: 看自己的需求 画出自己的设计图 写中文流程 按照中文流程写代码 一点点保存、编译运行看结果、调试包含头文件 include写主函数 main 环境初始化 gtk_init ...

weixin_39950081的博客 976

OSCP-1-3-natraj(本地文件包含、日志中毒、apache2配置漏洞、nmap提权)

像往常一样,我们将使用“Netdiscover”工具识别主机的 IP。所以,让我们首先用 nmap 列出所有 TCP 端口。我们从访问web服务(80端口)开始,在那里我们找到了几张关于Natraj的图片和信息,我们将查看源代码和robots.txt,似乎没有什么有用的。(或至少,目前)。因此,让我们继续进行。在 Dirb 及其默认字典的帮助下,我们找到了一个名为“”的目录。我们进入并列出一个名为“”的文件:如果我们执行它,我们会看到它什么也不做。我们可能需要添加其他内容。

墨痕诉清风的博客 528

深入理解 DDR5 Bank Group 与并行调度机制

Bank Group架构和并行调度机制,是DDR5性能跃升的核心秘密!理解它们才能写出高效调度程序,设计出性能强劲又稳定的DDR5系统。🎯记住:Bank Group不是简单的分组,而是高速并行的“魔法钥匙”,巧用它,你的DDR5设计将爆发惊人性能!

weixin_43199439的博客 312

gtk-3.0学习笔记3-布局始

创建应用程序时,您需要在窗口中放置多个窗口小部件。当您要将多个窗口小部件放入窗口时,控制每个窗口小部件的位置和大小变得非常重要。这是包装进来的地方。 GTK +带有各种各样的布局容器 ,其目的是控制添加到其中的子窗口小部件的布局。#include <gtk/gtk.h>static void print_hello (GtkWidget *widget, gpointer

柠檬说葡萄你好酸 675

AI测试:手把手教你用AI创建流程图「喂饭教程」

本文介绍了如何利用next-ai-draw-io开源项目,通过AI快速生成专业流程图,提升测试工作效率。该工具支持自然语言交互,兼容多种AI模型(如OpenAI、Claude等),并集成draw.io图表引擎,实现实时编辑。

blues_C的博客 757

GTK+(2)--窗口中添加五脏六腑

在我们第一讲当中的窗口中,我们仅仅就是学习了如何使用GTK+创建一个空白的窗口,但是仅仅一个空白窗口是没有用的,我们总是需要设置窗口的属性和向窗口中添加一些子控件,包括应用程序的图标,菜单,工具栏等等内容.下面的一段程序是设置我们的窗口的一些属性,包括设置窗口的标题,窗口的大小,窗口在屏幕中的位置等等属性.下面看一下代码:#include <gtk/gtk.h> #include <stdio.h>

hongbochen1223的专栏 1870

基于STM32L4XX 、HAL库的SGM452B数字温度传感器驱动应用C语言程序设计

SGM452B_RESOLUTION_12BIT = SGM452B_CONFIG_R1 | SGM452B_CONFIG_R0 /* 12位分辨率,精度0.0625°C,转换时间200ms */SGM452B_RESOLUTION_11BIT = SGM452B_CONFIG_R1, /* 11位分辨率,精度0.125°C,转换时间100ms */SGM452B_RESOLUTION_10BIT = SGM452B_CONFIG_R0, /* 10位分辨率,精度0.25°C,转换时间50ms */

PP_Cottage的博客 327

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

GTK界面编程(二):按键组件

文章目录一、按键 一、按键 代码示例: #include <gtk/gtk.h> #include <stdio.h> //点击按钮后被调用的函数,用于输出hello,world static void button1_print_msg (GtkWidget *button , gpointer data) { printf("<button1_print_msg> Active!\n"); printf("ret = %d \n",system(

wws的博客 643

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

GTK实现旋转加载动画

gtk_spinner的使用。

m0_60352504的博客 401

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

GTK+按钮

Demo #include <gtk/gtk.h> static void quick_message(GtkWindow *parent,gchar *message){ g_print ("Hello GTK+\n"); } static void activateApp(GtkApplication *app,gpointer user_data){ GtkWi...

weixin_40763897的博客 2107

GTK+位图按钮的封装

 由于gtk+是采用C语言写的,个人认为做界面还是用C++比较方便,可能是因为我用MFC用的多的原因吧。那么如果用GTK+开发的话,我们做一个位图按钮,怎么做呢?大家都知道在MFC下,需要自己重写一个继承自CButton得按钮类,在DrawItem虚函数中进行按钮的绘制。网上有很多人用C语言的方式实现了位图按钮,如果一个界面上按钮很多的话,代码量可想而知。好在C++的类在代码重用方面比较好。废

wfqxx的专栏 1652
上一篇: [代码实例][gtk+]创建窗体
下一篇: [代码实例][gtk+]Grid布局
cloudblaze
博客等级 码龄17年 81粉丝 125原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值