容器之按钮盒构件演示

代码;

#include <gtk-2.0/gtk/gtk.h>
#include <glib-2.0/glib.h>
#include <gtk-2.0/gdk/gdkkeysyms.h>
#include <stdio.h>

int main(int argc, char *argv[]) {
	gtk_init(&argc, &argv);

	GtkWidget *window;
	window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_window_set_title(GTK_WINDOW(window), "按钮盒构件演示");
	gtk_widget_show(window);

	GtkWidget *vbox1;
	vbox1 = gtk_vbox_new (FALSE, 0);
	gtk_widget_show (vbox1);
	gtk_container_add (GTK_CONTAINER (window), vbox1);

	GtkWidget *hbuttonbox1;
	hbuttonbox1 = gtk_hbutton_box_new ();
	gtk_widget_show (hbuttonbox1);
	gtk_box_pack_start (GTK_BOX (vbox1), hbuttonbox1, FALSE, TRUE, 0);
	gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox1), GTK_BUTTONBOX_START);

	GtkWidget *button1;
	button1 = gtk_button_new ();
	gtk_widget_show (button1);
	gtk_container_add (GTK_CONTAINER (hbuttonbox1), button1);
	GTK_WIDGET_SET_FLAGS (button1, GTK_CAN_DEFAULT);

	GtkWidget *image1;
	image1 = gtk_image_new_from_stock ("gtk-new", GTK_ICON_SIZE_BUTTON);
	gtk_widget_show (image1);
	gtk_container_add (GTK_CONTAINER (button1), image1);

	GtkWidget *button2;
	button2 = gtk_button_new ();
	gtk_widget_show (button2);
	gtk_container_add (GTK_CONTAINER (hbuttonbox1), button2);
	GTK_WIDGET_SET_FLAGS (button2, GTK_CAN_DEFAULT);

	GtkWidget *image2;
	image2 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_BUTTON);
	gtk_widget_show (image2);
	gtk_container_add (GTK_CONTAINER (button2), image2);

	GtkWidget *button3;
	button3 = gtk_button_new ();
	gtk_widget_show (button3);
	gtk_container_add (GTK_CONTAINER (hbuttonbox1), button3);
	GTK_WIDGET_SET_FLAGS (button3, GTK_CAN_DEFAULT);

	GtkWidget *image3;
	image3 = gtk_image_new_from_stock ("gtk-save", GTK_ICON_SIZE_BUTTON);
	gtk_widget_show (image3);
	gtk_container_add (GTK_CONTAINER (button3), image3);

	GtkWidget *hbox1;
	hbox1 = gtk_hbox_new (FALSE, 0);
	gtk_widget_show (hbox1);
	gtk_box_pack_start (GTK_BOX (vbox1), hbox1, TRUE, TRUE, 0);

	GtkWidget *vbuttonbox1;
	vbuttonbox1 = gtk_vbutton_box_new ();
	gtk_widget_show (vbuttonbox1);
	gtk_box_pack_start (GTK_BOX (hbox1), vbuttonbox1, FALSE, TRUE, 0);
	gtk_button_box_set_layout (GTK_BUTTON_BOX (vbuttonbox1), GTK_BUTTONBOX_SPREAD);

	GtkWidget *button4;
	button4 = gtk_button_new_from_stock ("gtk-cdrom");
	gtk_widget_show (button4);
	gtk_container_add (GTK_CONTAINER (vbuttonbox1), button4);
	gtk_widget_set_size_request (button4, 116, 88);
	GTK_WIDGET_SET_FLAGS (button4, GTK_CAN_DEFAULT);

	GtkWidget *button5;
	button5 = gtk_button_new_from_stock ("gtk-harddisk");
	gtk_widget_show (button5);
	gtk_container_add (GTK_CONTAINER (vbuttonbox1), button5);
	GTK_WIDGET_SET_FLAGS (button5, GTK_CAN_DEFAULT);

	GtkWidget *button6;
	button6 = gtk_button_new_from_stock ("gtk-floppy");
	gtk_widget_show (button6);
	gtk_container_add (GTK_CONTAINER (vbuttonbox1), button6);
	GTK_WIDGET_SET_FLAGS (button6, GTK_CAN_DEFAULT);

	GtkWidget *hbuttonbox2;
	hbuttonbox2 = gtk_hbutton_box_new ();
	gtk_widget_show (hbuttonbox2);
	gtk_box_pack_end (GTK_BOX (hbox1), hbuttonbox2, TRUE, TRUE, 0);
	gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox2), 10);
	gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox2), GTK_BUTTONBOX_END);
	gtk_box_set_spacing (GTK_BOX (hbuttonbox2), 10);

	GtkWidget *button7;
	button7 = gtk_button_new_from_stock ("gtk-apply");
	gtk_widget_show (button7);
	gtk_container_add (GTK_CONTAINER (hbuttonbox2), button7);
	GTK_WIDGET_SET_FLAGS (button7, GTK_CAN_DEFAULT);

	GtkWidget *button8;
	button8 = gtk_button_new_from_stock ("gtk-cancel");
	gtk_widget_show (button8);
	gtk_container_add (GTK_CONTAINER (hbuttonbox2), button8);
	GTK_WIDGET_SET_FLAGS (button8, GTK_CAN_DEFAULT);

	GtkWidget *button9;
	button9 = gtk_button_new_from_stock ("gtk-ok");
	gtk_widget_show (button9);
	gtk_container_add (GTK_CONTAINER (hbuttonbox2), button9);
	GTK_WIDGET_SET_FLAGS (button9, GTK_CAN_DEFAULT);
	g_signal_connect(G_OBJECT(window), "delete_event",
			G_CALLBACK(gtk_main_quit), NULL);
	gtk_main();
	return 0;
}

编译运行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/731412.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

北大推出全新机器人多模态大模型!面向通用和机器人场景的高效推理和操作

为了赋予机器人端到端的推理和操纵能力&#xff0c;本文创新性地将视觉编码器与高效的状态空间语言模型集成&#xff0c;构建了全新的 RoboMamba 多模态大模型&#xff0c;使其具备视觉常识任务和机器人相关任务的推理能力&#xff0c;并都取得了先进的性能表现。同时&#xff…

【秋招刷题打卡】Day01-自定义排序

Day01-自定排序 前言 给大家推荐一下咱们的 陪伴打卡小屋 知识星球啦&#xff0c;详细介绍 >笔试刷题陪伴小屋-打卡赢价值丰厚奖励 < ⏰小屋将在每日上午发放打卡题目&#xff0c;包括&#xff1a; 一道该算法的模版题 (主要以力扣&#xff0c;牛客&#xff0c;acwin…

20240621在飞凌的OK3588-C开发板的Buildroot系统中集成i2ctool工具

20240621在飞凌的OK3588-C开发板中打开i2ctool工具 2024/6/21 17:44 默认继承的i2c工具&#xff1a; rootrk3588-buildroot:/# rootrk3588-buildroot:/# i2c i2c-stub-from-dump i2cdump i2cset i2cdetect i2cget i2ctransfer rootrk3588-…

CVPR 2024盛况空前,上海科技大学夺得最佳学生论文奖,惊艳全场

CVPR 2024盛况空前&#xff01;上海科技大学夺得最佳学生论文奖&#xff0c;惊艳全场&#xff01; 会议之眼 快讯 2024 年 CVPR &#xff08;Computer Vision and Pattern Recogntion Conference) 即国际计算机视觉与模式识别会议&#xff0c;于6月17日至21日正在美国西雅图召…

邀请函 | 桥田智能出席AMTS展会 家族新成员正式发布

作为国际汽车制造技术与装备及材料专业展览会&#xff0c;AMTS将于2024年7月3-5日在上海新国际博览中心举行。本届展会以【向“新”而行 “智”领未来】为主题&#xff0c;聚焦汽车及新能源全产业链&#xff0c;围绕“车身工程、部件工程、新能源三电工程及未来汽车开发”等技…

Linux (centos7.9)上部署 NFS(Network File System)服务

NFS&#xff08;Network File System&#xff09;是一种网络文件系统协议&#xff0c;允许不同计算机之间通过网络共享文件和目录。NFS 最初由 Sun Microsystems 在 1984 年开发&#xff0c;现已成为许多 Unix 和类 Unix 系统&#xff08;包括 Linux&#xff09;上的标准文件系…

好大夫在线医生数据医生姓名科室荣誉等202406

好大夫在线医生数据医生姓名科室荣誉等 2024年6月数据&#xff0c;总共934027条数据&#xff0c;可导出为excel,csv等 好大夫在线2024-06月数据 包含简介信息&#xff01; 可见样例数据 样例数据_医生2.xlsx https://www.alipan.com/s/DBEW9MgHEPP 点击链接保存&#xff0…

【Python】成功解决TypeError: missing 1 required positional argument

【Python】成功解决TypeError: missing 1 required positional argument 下滑即可查看博客内容 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地&#xff01;&#x1f387; &#x1f393; 博主简介&#xff1…

4种方法轻松掌握怎么调节电脑屏幕亮度的技巧!

在使用电脑的过程中&#xff0c;调节屏幕亮度是一项常见的操作&#xff0c;它可以帮助我们适应不同的环境光线&#xff0c;减轻眼睛的疲劳&#xff0c;提高使用体验。 然而&#xff0c;对于一些新手用户来说&#xff0c;怎么调节电脑屏幕亮度可能会感到困惑。本文将介绍四种简…

RocketMQ的安装和原理

.RocketMQ的安装 一.RocketMQ安装 1.1.下载RocketMQ 下载地址&#xff1a;http://rocketmq.apache.org/release_notes/release-notes-4.2.0/ 下载后解压 Bin : 可执行文件目录 config&#xff1a;配置文件目录 Lib : 依赖库&#xff0c;一堆Jar包 1.2.配置ROCKETMQ_HOME…

AI时代:硬件狂欢,软件落寞 华为开发者大会2024

内容提要 分析师表示&#xff0c;目前AI行业大多数的支出都流向用于训练大模型的硬件或云基础设备。相较之下&#xff0c;软件应用商们在AI时代显得停滞不前。尽管软件应用商们十分热衷于构建AI工具&#xff0c;然而其收入状况却并不乐观。 文章正文 AI浪潮之下&#xff0c;英…

Day 29:1600. 王位继承顺序

Leetcode1600. 王位继承顺序 一个王国里住着国王、他的孩子们、他的孙子们等等。每一个时间点&#xff0c;这个家庭里有人出生也有人死亡。 这个王国有一个明确规定的王位继承顺序&#xff0c;第一继承人总是国王自己。我们定义递归函数 Successor(x, curOrder) &#xff0c;给…

校园疫情防控健康打卡系统

摘 要 自疫情出现以来&#xff0c;全世界人民的生命安全和健康都面临着严重威胁。高校是我国培养人才的重要基地&#xff0c;其安全和稳定影响着社会的发展和进步。因此&#xff0c;各高校高度重视疫情防控工作&#xff0c;并在校园疫情防控中引入了健康打卡系统。本论文主要研…

NodeJs实现对本地 mysql 数据库的增删改查

写在前面 今天我们接着写nodejs对数据库的操作&#xff0c;今天实现简单的增删改查&#xff0c;读之前请先移步到这里NodeJs 连接本地 mySql 数据库获取数据,避免后续一些代码出险阅读断层。 安装 nodemon npm install nodemon因为 nodejs 的服务是本地启动&#xff0c;避免后…

【机器学习】transformer框架理论详解和代码实现

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f4a5;&#x1f4a5;个人主页&#xff1a;奋斗的小羊 &#x1f4a5;&#x1f4a5;所属专栏&#xff1a;C语言 &#x1f680;本系列文章为个人学习…

【C语言】14.数组指针与函数指针及其应用

一、数组指针 顾名思义&#xff0c;数组指针就是指向数组的指针。形如&#xff1a;int (*p)[10]; 注意&#xff1a;[]的优先级要高于*号的&#xff0c;所以必须加上&#xff08;&#xff09;来保证p先和*结合。 数组指针的使用 int arr[10] {0}; int (*parr)[10] &arr;…

【Matlab】BP 神经网络分类算法(附代码)

资源下载&#xff1a; https://download.csdn.net/download/vvoennvv/89466423 分类算法资源合集&#xff1a;https://download.csdn.net/download/vvoennvv/89466519 目录 Matlab SVM支持向量机分类算法 Matlab RF随机森林分类算法 Matlab RBF径向基神经网络分类算法 Mat…

【C++题解】1713 - 输出满足条件的整数3

问题&#xff1a;1713 - 输出满足条件的整数3 类型&#xff1a;简单循环 题目描述&#xff1a; 有一个数列&#xff0c;该数列的前 4 个数是&#xff1a; 1 4 7 10 &#xff1b; 请从键盘读入一个正整数 n &#xff0c;请通过观察前 4 项的规律&#xff0c;输出 1∼n 之间所有…

课程标准包括哪些内容?

老师们常常会思考&#xff1a;课程标准究竟包含哪些要素&#xff1f;课程标准不仅仅是一系列冷冰冰的条条框框&#xff0c;而是活生生的指导原则&#xff0c;引领教学实践&#xff0c;激发学生的潜能。 课程标准&#xff0c;简而言之&#xff0c;是对学习成果的期望和要求的明确…

python20 函数的定及调用

函数的定及调用 函数是将一段实现功能的完整代码&#xff0c;使用函数名称进行封装&#xff0c;通过函数名称进行调用。以此达到一次编写&#xff0c;多次调用的目的 用 def 关键字来声明 函数 格式&#xff1a; def 函数名(参数列表):函数体[:return 返回值是可选的&#xff0…