第115页的gtk+编程例子——最简单的进度条2附带使用Anjuta写gtk程序的步骤

article/2025/5/9 8:33:26

以下gtk+编程例子是来自书籍《实用技术:开发Linux应用——用GTK+和GDK开发Linux图形用户界面应用》第115页的内容——最简单的进度条2附带使用Anjuta写gtk程序的步骤
官方教程网址https://developer-old.gnome.org/gnome-devel-demos/3.38/progressbar.c.html.en
这是最简单的进度条,它的写法和思路更加简洁和不同,代码格式是gtk3.0,很值得借鉴,antuja是类似Visual Studio和codeblocks编程软件,但是antuja只有linux版而没有windows版的
在gtk2.0中window = gtk_window_new (GTK_WINDOW_TOPLEVEL);主窗口右上角的关闭按钮一定要带上关闭的鼠标动作的g_signal_connect (G_OBJECT (window), “destroy”, G_CALLBACK (gtk_main_quit), NULL);
在gtk3.0中window = gtk_application_window_new (app);主窗口右上角的关闭按钮本身带有关闭功能的,不需要加上鼠标动作的

使用Anjuta写gtk程序的步骤
参考以下官方网址有介绍使用anjuta写gtk程序的步骤
https://developer-old.gnome.org/gnome-devel-demos/3.38/image-viewer.c.html.en
Application——编程——Anjuta
文件——新建——项目——选择项目类型为C的GTK+(简单)——右上角的前进——项目名称:ProgressBar5——项目选择不勾选添加国际化,不勾选使用GtkBuilder制作用户界面——前进——应用
在左栏单击progressbar5左边的三角图标——双击main.c——GtkSourceView编辑器,勾选记住此选项——确定

打开以下网址
https://developer-old.gnome.org/gnome-devel-demos/3.38/progressbar.c.html.en
将进度的源代码复制粘贴到main.c中并保存

运行——执行——出现配置项目的对话框,什么也不用修改,直接单击执行——它会自动configure和make然后在新终端运行程序

在openSUSE-Leap-15.3-DVD-x86_64的gnome3.34.7桌面环境下运行Anjuta 3.28.0,以下内容为源代码,没有修改过,主要是加上中文解释

#include <gtk/gtk.h>static gboolean
fill (gpointer   user_data)
{GtkWidget *progress_bar = user_data;/* 获取当前进度条的值 */gdouble fraction;fraction = gtk_progress_bar_get_fraction (GTK_PROGRESS_BAR (progress_bar));/* 每次调用此函数时,将进度条增加10%,标准写法是fraction = fraction + 0.1 缩写为+= 0.1*/fraction += 0.1;/* 根据fraction的值设定进度条显示的长度 */gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress_bar), fraction);/* 确保进度条的值保持在1.0以下*/if (fraction < 1.0) return TRUE;return FALSE;
}static void
activate (GtkApplication *app,gpointer        user_data)
{GtkWidget *window;GtkWidget *progress_bar;gdouble fraction = 0.0;/* 创建具有标题和默认大小的窗口 */window = gtk_application_window_new (app);gtk_window_set_title (GTK_WINDOW (window), "ProgressBar Example");gtk_window_set_default_size (GTK_WINDOW (window), 220, 20);/* 创建进度条并将其添加到窗口 */progress_bar = gtk_progress_bar_new ();gtk_container_add (GTK_CONTAINER (window), progress_bar);/* 根据fraction的值设定进度条显示的长度,进度条的值必须介于0.0-1.0(含0.0-1.0)之间*/gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress_bar), fraction);/* 每隔500毫秒运行一次fill函数 */g_timeout_add (500, fill, GTK_PROGRESS_BAR (progress_bar));gtk_widget_show_all (window);
}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;
}

效果图如下
在这里插入图片描述


http://chatgpt.dhexx.cn/article/TrydV9cD.shtml

相关文章

linux下anjuta的java环境,Anjuta下载-Anjuta IDE For Linux(集成开发环境)V3.18.0 官方版 - 极光下载站...

Anjuta IDE For Linux 集成开发环境下载&#xff0c;Anjuta IDE For Linux这是专为linux系统推出的开发环境&#xff0c;Anjuta是一个建立在GNU/Linux下为C、C提供编译的集成开发环境。而且Anjuta IDE已经写入GTK/GNOME&#xff0c;并配有先进的编程设施。有需要的朋友欢迎来极…

anjuta 连接mysql_buntu下的可视化C/C++编译器anjuta配置的方法

终于解决了ubuntu下学习C语言的困难了 一&#xff1a; 安装anjuta (可以在ubuntu tweak或者新立得那里查找安装) ubuntu10.04里面已经自带了anjuta 这一步不解释一&#xff1a;安装anjuta(可以在ubuntu tweak或者新立得那里查找安装)ubuntu10.04里面已经自带了anjuta这一步不解…

anjuta调试caffe

Caffe也算是一个代码量比较大的工程&#xff0c;阅读代码过程进行调试有助于我们理解代码。 1、编译debug模式的Caffe 首先要先将Caffe编译成debug模式&#xff0c;即需要将Makefile.config中"DEBUG : 1"前面的注释去掉再进行重新编译&#xff0c;这样就能得到Caff…

Linux学习笔记(六) -- Anjuta软件主界面介绍

1.主界面 基本布局 2.分项介绍 菜单栏 (1)File菜单 包含新建、打开、保存、关闭、打印、退出等基本功能。 (2)Edit菜单 包含撤销、重做、剪切、复制、粘贴、清除、转换、注释、查找、选择、自动完成和性能设置功能。 (3)View菜单 包含全屏、锁定停靠层、重置停靠层…

Anjuta—基于GTK+/GNOME的C/C++优秀开发环境

UBUNTU10.10下软件包/开发工具里选择安装Anjuta,然后还要添加库&#xff1a;sudo apt-get install libpanelappletmm-2.6-dev Introduction (简介)Anjuta是一个为C/C准备的集成开发环境(IDE)。他是为GTK/GNOME而开发并具备一系列高级开发功能等特性。他为Linux和UNIX系列的各种…

第二章-信源与信息熵(二)

接上一节 第二章-信源与信息熵&#xff08;一&#xff09; 2.3 离散序列信源的熵 简介 1. 离散无记忆序列信源 a) 离散无记忆信源的序列熵 b) 离散无记忆信源的符号熵 2. 离散有记忆序列信源 a) 平稳信源 i. 序列熵 ii.…

Python:请输入一段信息,并计算这串消息的信源熵

源码&#xff1a; import string import math count0#用counnt保存不同的符号的个数 print("请输入你想计算信源熵的信息&#xff1a;") n input() sum_numlen(n)#字符的总个数#用list2保存不同的符号数 list1 [] list2 [] for i in n:list1.append(i) for i in …

离散无记忆与有记忆信源的序列熵

本专栏包含信息论与编码的核心知识&#xff0c;按知识点组织&#xff0c;可作为教学或学习的参考。markdown版本已归档至【Github仓库&#xff1a;information-theory】&#xff0c;需要的朋友们自取。或者公众号【AIShareLab】回复 信息论 也可获取。 文章目录 离散无记忆信源…

连续信源微分熵+AEP

目录 一&#xff1a;连续信源 最大熵定理 二&#xff1a;渐进均分性 1&#xff1a;随机变量收敛性 2&#xff1a;大数定律 3&#xff1a;AEP(渐进均分性) 4&#xff1a;典型集 三&#xff1a;数据压缩 一&#xff1a;连续信源 1&#xff09;连续随机变量的微分熵 由概率密度…

【信息论】信源与信源熵(三)

接上一节 第二章-信源与信息熵&#xff08;二&#xff09; 2.4 连续信源的熵与互信息 1. 实际中&#xff0c;连续信源 a) 幅度连续 b) 时间或频率上也连续 2. 统计特性 a) 概率密度函数 3. 用离散变量来逼近连续变量 连续信源熵 1.…

信息论基础——信源熵及其性质研究

本文仅供学习使用&#xff0c;如有侵权请及时联系&#xff0c;博主会第一时间进行处理 信源熵及其性质研究 一、实验目的二、实验原理及内容三、实验设备与材料四、实验步骤五、实验程序及运行结果六、实验总结 一、实验目的 1.掌握离散信源熵的含义及其计算方法&#xff1b;…

离散信源熵1

目录 一&#xff1a;熵的定义 二&#xff1a;联合熵和条件熵 三&#xff1a;相对熵 四&#xff1a;互信息 五&#xff1a;条件互信息 六&#xff1a;条件相对熵 一&#xff1a;熵的定义 解释&#xff1a;,由于P(x)介于0-1之间&#xff0c;大于等于0.不等式&#xff1a; …

离散信源的熵——信息论实验一(Matlab)

信息论与编码技术实验报告 学院&#xff1a; 信息科学与工程学院 班级&#xff1a; 2020通信工程1班 姓名&#xff1a; 麦兜 实验名称 实验一、离散信源的熵 实验设备 &#xff08;1&#xff09;计算机 &#xff08;2&#xff09;所用软件&#xff1a;Matlab或C 实…

离散信源熵2

目录 1&#xff1a;熵的凸性 相对熵的下凸性 熵的上凸性 2&#xff1a;信源的分类 3&#xff1a;自信息 四&#xff1a;离散无记忆扩展信源 五&#xff1a;马尔科夫信源 六&#xff1a;马尔可夫信源的信源熵 求解方法 计算例子 1&#xff1a;熵的凸性 凸函数是定义在定义…

【信息论】信源与信源熵(一)

— 主要内容 1. 信源的分类与描述 2. 离散信源的信息熵和互信息 3. 离散序列信源的熵 4. 连续信源的熵与互信息 5. 冗余度 2.1 信源的分类与描述 — 信源的定义 产生消息&#xff08;符号&#xff09;、消息序列和连续消息的来源。 信源的基本…

信息论实验一:信源熵的计算

本次实验是基础的计算信源熵&#xff0c;代码很简单。 为了便于计算&#xff0c;将概率和不为1的重新输入以及把概率为0删除&#xff01;&#xff01;&#xff01; format short; %定义输出的格式 p input(p ); %输…

第二章-信源与信息熵(一)

— 主要内容 1. 信源的分类与描述 2. 离散信源的信息熵和互信息 3. 离散序列信源的熵 4. 连续信源的熵与互信息 5. 冗余度 2.1 信源的分类与描述 — 信源的定义 产生消息&#xff08;符号&#xff09;、消息序列和连续消息的来源。 信…

[信息论与编码] 03. 离散信源、信源熵、联合熵、条件熵

离散信源 信源即信息发出的源头&#xff0c;在后续的信道模型中&#xff0c;信源发出的信息即视为信道输入的信息。 根据信源发出信息的取值&#xff0c;可将信源分为离散信源和连续信源。 顾名思义&#xff0c;离散信源即发出的信息取值为离散型的信源&#xff1b;连续信源即…

Tomcat目录详解

Tomcat 1.bin&#xff1a;启动和关闭Tomcat2.conf3.lib4. logs5.temp6.webapps7.work Tomcat 1.bin&#xff1a;启动和关闭Tomcat 该目录下存放的是二进制可执行文件&#xff0c; 如果是安装版&#xff0c;那么这个目录下会有两个exe文件&#xff1a;tomcat6.exe、tomcat6w.…

Tomcat介绍及三种启动方式的区别

一、Tomcat的下载 二、Tomcat目录说明 三、Tomcat常用命令 四、Tomcat服务的安装 五、Tomcat启动的三种方式 六、三种启动方式的区别 七、Tomcat端口占用问题 一、Tomcat的下载 官方下载网址&#xff1a;http://tomcat.apache.org/&#xff0c;可自行下载需要的版本。 …