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

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

  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. 解决Anaconda4.2 Navigator打不开的问题

    参照博客:http://blog.csdn.net/k3v1n1990s/article/details/72975528?utm_source=itdadao&utm_medium=refe ...

  2. python安装pip、numpy、scipy、statsmodels、pandas、matplotlib等

    1.安装python 2.安装numpy(开源的数值计算扩展,可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多. 很多库都是以此库为依 ...

  3. MongoDB 安装及开启关闭

    开启关闭的方式: 命令行 输入 net start mongodb 就打开mongo的服务了 输入 net stop mongodb 关闭服务 验证是否成功的方式: 在浏览器中输入 http://lo ...

  4. NO.4day LINUX centos 文件基本操作

    LINUX centos 文件基本操作 1 LINUX简介 Linux的定义:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CP ...

  5. Hadoop生态圈-hive五种数据格式比较

    Hadoop生态圈-hive五种数据格式比较 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  6. 微信图片上传,遇到一个神奇的jgp

    微信图片上传,获取图片base64遇到一个神奇的   jgp var imgFn = function (event) { event.preventDefault(); var id = '#'+$ ...

  7. H5离线存储-manifest

    起源 html5之前的网页,都是无连接,必须联网才能访问,这其实也是web的特色,这其实对于PC是时代问题并不大,但到了移动互联网时代,设备终端位置不再固定,依赖无线信号,网络的可靠性变得降低,比如坐 ...

  8. noi题库(noi.openjudge.cn) 1.13编程基础之综合应用 T12 分数求和

    12:分数求和 描述 输入n个分数并对他们求和,并用最简形式表示.所谓最简形式是指:分子分母的最大公约数为1:若最终结果的分母为1,则直接用整数表示. 如:5/6.10/3均是最简形式,而3/6需要化 ...

  9. NGINX生产环境反向代理到后端tomcat配置

    #当访问www.kazihuo.com//sichuan-user-te时,跳转到http://10.1.93.61:7005/sichuan-user server { listen ; serve ...

  10. Java时间格式转换工具类

    把当前时间修改成指定时间 //把当前时间修改成指定时间 public String dateUtil(Integer seconds, String dateFormatPattern){ Date ...