今天用到了滚动窗口和微调按钮,根据网上的信息,简单总结下用法.

滚动窗口只能添加一个控件到其中

  scrolled=gtk_scrolled_window_new(NULL,NULL); /*创建滚动窗口构件*/
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC);//设置滚动条出现的方式,这里为自动出现
gtk_container_add(GTK_CONTAINER(box1),scrolled); //将滚动窗口加入到box1这个容器中

创建滚动窗口构建的第一个参数是水平方向的调整对象,第二个参数是垂直方向的调整对象。它们总是设置为NULL。

滚动条的出现方式取值可以为GTK_POLICY_AUTOMATIC或GTK_POLICY_ALWAYS。当要求滚动条根据需要自动出现时,可设为GTK_POLICY_AUTOMATIC;若设为GTK_POLICY_ALWAYS,滚动条会一直出现在滚动窗口构件上。

微调按钮也是按钮的一种,创建其调整对象的函数为GtkObject *gtk_adjustment_new( gdouble value, gdouble lower, gdouble upper, gdouble step_increment, gdouble page_increment, gdouble page_size );

其中各个参数的含义分别为

value:微调按钮构件显示的初始值

lower:构件允许的最小值

upper:构件允许的最大值

step_increment:当鼠标左键按下时构件一次增加/减小的值

page_increment:当鼠标右键按下时构件一次增加/减小的值

page_size:没有用到

接下来是创建微调按钮,函数为GtkWidget *gtk_spin_button_new( GtkAdjustment *adjustment, gdouble climb_rate, guint digits );

其中的climb_rate参数是介于0.0和1.0间的值,指明构件数值变化的加速度(长时间按住按钮,数值会加速变化)。digits参数指定要显示的值的小数位数。

还可以获取当前按钮的值,函数为gdouble gtk_spin_button_get_value ( GtkSpinButton *spin_button );

gint gtk_spin_button_get_value_as_int( GtkSpinButton *spin_button );

可以设置让微调按钮构件在upper和lower之间循环。也就是当达到最大值后再向上调整回到最小值,当达到最小值后再向下调整变为最大值,函数为void gtk_spin_button_set_wrap( GtkSpinButton *spin_button, gboolean wrap );

gboolean wrap:为TRUE或者FALSE

OK,明天继续加油!

gtk+学习笔记(六)的更多相关文章

  1. java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)

    java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...

  2. Learning ROS for Robotics Programming Second Edition学习笔记(六) indigo xtion pro live

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  3. Typescript 学习笔记六:接口

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  4. python3.4学习笔记(六) 常用快捷键使用技巧,持续更新

    python3.4学习笔记(六) 常用快捷键使用技巧,持续更新 安装IDLE后鼠标右键点击*.py 文件,可以看到Edit with IDLE 选择这个可以直接打开编辑器.IDLE默认不能显示行号,使 ...

  5. Go语言学习笔记六: 循环语句

    Go语言学习笔记六: 循环语句 今天学了一个格式化代码的命令:gofmt -w chapter6.go for循环 for循环有3种形式: for init; condition; increment ...

  6. 【opencv学习笔记六】图像的ROI区域选择与复制

    图像的数据量还是比较大的,对整张图片进行处理会影响我们的处理效率,因此常常只对图像中我们需要的部分进行处理,也就是感兴趣区域ROI.今天我们来看一下如何设置图像的感兴趣区域ROI.以及对ROI区域图像 ...

  7. Linux学习笔记(六) 进程管理

    1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...

  8. # go微服务框架kratos学习笔记六(kratos 服务发现 discovery)

    目录 go微服务框架kratos学习笔记六(kratos 服务发现 discovery) http api register 服务注册 fetch 获取实例 fetchs 批量获取实例 polls 批 ...

  9. Spring Boot 学习笔记(六) 整合 RESTful 参数传递

    Spring Boot 学习笔记 源码地址 Spring Boot 学习笔记(一) hello world Spring Boot 学习笔记(二) 整合 log4j2 Spring Boot 学习笔记 ...

  10. Redis学习笔记六:持久化实验(AOF,RDB)

    作者:Grey 原文地址:Redis学习笔记六:持久化实验(AOF,RDB) Redis几种持久化方案介绍和对比 AOF方式:https://blog.csdn.net/ctwctw/article/ ...

随机推荐

  1. 图像处理之色彩转换(CCM)

    1 色彩校正原理 人眼对色彩的识别,是基于人眼对光谱存在三种不同的感应单元,不同的感应单元对不同波段的光有不同的响应曲线的原理,通过大脑的合成得到色彩的感知.  一般来说,我们可以通俗的用 RGB三基 ...

  2. boost::asio::deadline_timer(理解)

    并发与并行: 并发和并行从宏观上来讲都是同时处理多路请求的概念.但并发和并行又有区别,并行是指两个或者多个事件在同一时刻发生:而并发是指两个或多个事件在同一时间间隔内发生. 1.Timer.1 - 使 ...

  3. poj 2396 Budget

    一个m行n列的矩阵,给出每行每列中元素的和,以及对一些格子的大小限制,求一个可行方案,输出矩阵. 大小限制形如:严格大于i,严格小于i,等于i. 1<=m<=200.1<=n< ...

  4. 将SQL Server账户对应到Windows系统账户

    应用场景举例: SQL Server账户要访问外部资源,例如所拥有的Job要访问文件系统,而此文件系统需要Windows账户才有权限. 步骤: 1.       服务器新建凭据(Credentials ...

  5. Mongo 后台加索引踩坑

    背景,随着mongo数据量变大,查询效率变低,要对索引进行优化,所在公司对mongo依赖比较严重,而DBA并不对mongo的权限做控制,所以每个后端开发都有mongo的读写权限,通常每个人各自管理自己 ...

  6. javascript精雕细琢(三):作用域与作用域链

    目录 引言 1.执行环境 2.作用域与作用域链 引言        作用域与作用域链是JS应用中无时无刻不在影响程序运行的关键属性,但是由于它的不可见性,或者说它存在的过于普遍,简直就像空气一样.所以 ...

  7. NOIP2011 提高组 Day2

    自测时间:2017.4.12 8:15——11:45 实际得分:100+0+0=100 期望得分:100+100+0=260 T2 符合要求的总价值*符合要求的总个数 写成:符合要求的总价值*区间总个 ...

  8. Redis学习九:Redis的发布订阅

    发布订阅功能,redis也具备,但是要知道的是redis主要功能还是分布式的缓存功能,因此这种订阅发布功能很少用,有专门的kafka  activemq 等消息中间件来完成,因此本文只是简单介绍,了解 ...

  9. python 分布式进程体验

    抽了点时间体验了一把python 分布式进程,有点像分布式计算的意思,不过我现在还没有这个需求,先把简单体验的脚本发出来,供路过的各位高手指教 注:需要先下载multiprocessing 的pyth ...

  10. #Fixed# easy-animation | Animation for Sass

    原文链接:http://www.cnblogs.com/maplejan/p/3659830.html 主要修复3.4版本后变量作用域的问题. 代码如下: /* easy-animation.scss ...