容器之按钮盒构件演示

代码;

#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;
}

编译运行

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Eclipse使用SpringXml to Java没有反应或者报错

Eclipse使用SpringXml to Java没有反应或者报错 定位错误方法&#xff1a; 通过Window -> Show View -> Error Log打开错误日志视图。 错误日志会记录Eclipse运行时发生的各种错误和警告&#xff0c;包括插件和工具的问题。 在错误日志中查找与你执行的Spring XML to J…

Python学习系列之三目运算

Python学习系列之三目运算 前言C#的三目运算Python的三目运算总结 前言 在项目常有一些运算比较&#xff0c;之前使用的C#常用三目运算&#xff0c;减少使用switch或者if else来减少语句。 当C#转化为python时&#xff0c;三目运算使用不同了。 C#的三目运算 这里举个例子&am…

xargs 传参

xargs的默认命令是 echo&#xff0c;空格是默认定界符。这意味着通过管道传递给 xargs的输入将会包含换行和空白&#xff0c;不过通过 xargs 的处理&#xff0c;换行和空白将被空格取代。xargs是构建单行命令的重要组件之一。 xargs -n1 // 一次输出一个参数到一行&#xf…

使用NestJS构建安全密码重置功能的完整指南:实现短信链接跳转验证功能

引言 实现忘记密码的短信链接验证功能&#xff0c;可以按照以下步骤进行&#xff1a; 用户请求重置密码&#xff1a;用户提供注册手机号码&#xff0c;系统生成一个唯一的重置令牌&#xff08;token&#xff09;&#xff0c;将令牌和用户信息存储在数据库中&#xff0c;并将包…

Linux系统异常进程管理

Linux系统异常进程管理 1、异常关闭服务和进程 1&#xff09;【杀】进程 kill 进程【号】 ##温和、优雅 pkill 进程【名】 ##一下爆头 killall 进程【名】 ##优雅&#xff0c;可能需要多次反复 2&#xff09;杀不掉处理&#xff08;慎用&#xff09; 强制&#xff0c;一…

Python学习笔记16:进阶篇(五)异常处理

异常 在编程中&#xff0c;异常是指程序运行过程中发生的意外事件&#xff0c;这些事件通常中断了正常的指令流程。它们可能是由于错误的输入数据、资源不足、非法操作或其他未预料到的情况引起的。Python中&#xff0c;当遇到这类情况时&#xff0c;会抛出一个异常对象&#…

最详细的Selenium+Pytest自动化测试框架实战

前言 selenium自动化 pytest测试框架 本章你需要 一定的python基础——至少明白类与对象&#xff0c;封装继承 一定的selenium基础——本篇不讲selenium&#xff0c; 测试框架简介 测试框架有什么优点呢&#xff1a; 代码复用率高&#xff0c;如果不使用框架的话&#xff…

一个虚拟空间可以放多个不同类型的网站吗

通常一些个人站长或者公司可能同时拥有几个网站&#xff0c;由于其他几个网站流量不高&#xff0c;而每个网站都租用一个虚拟主机空间的话&#xff0c;感觉有点浪费。大家可能会想虚拟主机能不能也像独立服务器那样放置多个网站呢&#xff1f;答案是肯定的&#xff0c;确定主机…

2004年-2022年 全国31省市场分割指数数据

市场分割指数在经济学领域是一个关键的概念&#xff0c;特别是在评估不同区域市场一体化水平时。陆铭等学者深入研究了市场分割问题&#xff0c;并对市场分割指数给出了定义&#xff1a;它是一个衡量在相同时间点不同区域或同一区域在不同时间点的某类商品相对价格差异的指标。…

组合优于继承

设计模式中的组合与继承 使用组合的模式 装饰者模式&#xff08;decorator pattern&#xff09; 策略模式&#xff08;strategy pattern&#xff09; 组合模式&#xff08;composite pattern&#xff09; 使用了组合关系 使用继承的模式 模板模式&#xff08;template p…

【OpenGauss源码学习 —— (ALTER TABLE(列存修改列类型))】

ALTER TABLE&#xff08;列存修改列类型&#xff09; ATExecAlterColumnType 函数1. 检查和处理列存储表的字符集&#xff1a;2. 处理自动递增列的数据类型检查&#xff1a;3. 处理生成列的类型转换检查&#xff1a;4. 处理生成列的数据类型转换&#xff1a; build_column_defa…

复杂风控场景(反洗钱)下,一些sql解决方案

前言&#xff1a; 在工作中遇到的一些比较复杂的场景&#xff0c;一直觉得很有记录的价值&#xff0c;但是就是嫌麻烦懒得写&#xff0c;拖延症比较厉害&#xff0c;主要是怕以后忘了&#xff0c;这些问题如果做面试题的话&#xff0c;也很考验人&#xff0c;算是给自己留个备忘…

几种常见的滤波器样式

IIR Peaking Filter IIR LowShelf Filter IIR HighShelf Filter 4. IIR LowPassFilter 5. IIR HighPass Filter FIR PeakingFilter FIR LowShelf Filter 8. FIR HighShelf Filter 8. FIR LowPass Filter 10. FIR HighPass Filter

命令行中,常见mysql命令

打开终端。 连接到 MySQL 服务器&#xff08;假设你的mysql叫root&#xff09;&#xff1a; mysql -u root -p 输入密码&#xff1a; Enter password: ******** 查看所有数据库&#xff1a; mysql> SHOW DATABASES; ERROR 4031 (HY000): The client was disconnected …

操作系统入门 -- 进程的通信方式

操作系统入门 – 进程的通信方式 1.什么是进程通信 1.1 定义 进程通信就是在不同进程之间交换信息。在之前文章中可以了解到&#xff0c;进程之间相互独立&#xff0c;一般不可能互相访问。因此进程之间若需要通信&#xff0c;则需要一个所有进程都认可的共享空间&#xff0…

OpenHarmony-HDF驱动框架介绍及加载过程分析

前言 HarmonyOS面向万物互联时代&#xff0c;而万物互联涉及到了大量的硬件设备&#xff0c;这些硬件的离散度很高&#xff0c;它们的性能差异与配置差异都很大&#xff0c;所以这要求使用一个更灵活、功能更强大、能耗更低的驱动框架。OpenHarmony系统HDF驱动框架采用C语言面…

【Kafka】Kafka Broker工作流程、节点服役与退役、副本、文件存储、高效读写数据-08

【Kafka】Kafka Broker工作流程、节点服役与退役、副本、文件存储、高效读写数据 1. Kafka Broker 工作流程1.1 Zookeeper 存储的 Kafka 信息1.2 Kafka Broker总体工作流程1.2.1 Controller介绍 1.3 Broker 重要参数 2. 节点服役与退役3. Kafka副本 1. Kafka Broker 工作流程 …

GUI Guider(V1.7.2) 设计UI在嵌入式系统上的应用(N32G45XVL-STB)

目录 概述 1 使用GUI Guider 设计UI 1.1 创建页面 1.2 页面切换事件实现 1.3 生成代码和仿真 1.3.1 生成和编译代码 1.3.2 仿真UI 2 GUI Guider生成的代码结构 2.1 代码结构介绍 2.2 Project目录下的文件 3 板卡上移植UI 3.1 加载代码至工程目录 3.2 主函数中调…

【环境变量问题:计算机删除环境变量的恢复方法;此环境变量太大。此对话框允许将值设置为最长2047个字符】

不小心误删了win10系统环境变量可以试试下文方法恢复。 本方法针对修改环境变量未重启的用户可以使用&#xff0c;如果修改环境变量&#xff0c;然后还重启了&#xff0c;只能说重新来。 方法一&#xff1a;使用命令提示符恢复 被修改的系统Path只是同步到了注册表中&#x…

2024软考系规考前复习20问!看看你能答上来多少

今天给大家整理了——2024系统规划与管理师考前20问&#xff0c;这是一份很重要的软考备考必看干货&#xff0c;包含很多核心知识点。有PDF版&#xff0c;可打印下来&#xff0c;过完一遍教材后&#xff0c;来刷一刷、背一背&#xff0c;说不定可以帮你拿下不少分。 第1问- 信息…