- 浏览: 232153 次
最新评论
-
naouguhtaeyeti:
当台阶数大时,这个用递归效率太低
【100题】第二十七 跳台阶问题
文章列表
GTK+图形化应用程序开发学习笔记(五)—组装盒、组合表、固定容器构件
一、组装盒
组装盒(GtkBox)也称为组合构件。使用组装盒可以将多个构件放在一个容器中。容器可以把组装盒看作是一个构件。不像按钮构件,组装盒在屏幕上时看不见的。事实上,它们是同时跟踪若干子构件的不可见容器。组装盒分为纵向组装盒和横向组装盒。纵向组装盒在垂直方向堆积构件,横向组装盒沿水平方向堆积构件。
使用gtk_vbox_new函数建立纵向组装盒,使用gtk_hbox_new函数建立横向组装盒。在建立组装盒以后,可以使用gtk_box_pack_start函数或gtk_box_pack_end函数将构 ...
- 2011-12-21 14:05
- 浏览 783
- 评论(0)
一、构件
上一章我们介绍了如果创建一个窗体,但应用程序仅有一个窗体是不够的我们必须在窗体上添加一些东西(如:按钮,文本框等)。这些东西被称为构件,而我们添加的构件的载体被称为容器(如:主窗体)。
构 ...
- 2011-12-21 14:03
- 浏览 752
- 评论(0)
一、初始化GTK+
写GTK+程序需要调用gtk_init函数对GTK+库函数进行初始化。
1.
名称::
gtk_init
功能:
初始化GTK+库
头文件:
#include <gtk/gtk.h>
函数原形:
void gtk_init(int *argc,char ***argv);
参数:
argc指向主函数argc的指针
argv指向主函数argv的指针
- 2011-12-21 14:02
- 浏览 822
- 评论(0)
在学习GTK+之前我们需要先学习一下 glib的有关知识。因为我们将会在以后的学习中遇到这些知识。由于本笔记不是专门介绍glib的,所以下面的介绍不会太详细。
一、什么是glib库
glib库是linux平台下最常用的c语言函数库,它具有很好的可移植性和实用性。glib是gtk+库和gnome的基础。glib的各种实用程序具有一致的接口。glib为许多标准的、常用的C语言结构提供了相应的替代物。它的编码风格是半面向对象,标识符加了一个前缀“g”,这也是一种通行的命名约定。使glib库的程序都应该包含glib的头文件glib.h。如果程序已经包含了gtk
.h则不需要再包含glib. ...
- 2011-12-21 14:01
- 浏览 1074
- 评论(0)
GTK+图形化应用程序开发学习笔记(一)—概述
一、什么是GNOME、
GNOME的意思是“GNU Network Object Model Environment”(GNU网络对象模型环境),是Linux世界令人激动的软件开发成果。虽然它的名字比较长,但这个软件项目的目的却很简单,那就是实现一个永恒友好的、功能强大的用户和开发桌面环境,而这一环境又完全是以免费的开源代码软件为基础的。
正像它名字的那样,GNOME既是一个桌面,也是一个完整的程序设计环境。GNOME是底层X窗口系统和高层管理器软件中间的一个程序设计界面,它向GUI程序员提供了丰富的功能和强大的开发工具,这些工具 ...
- 2011-12-21 14:00
- 浏览 1459
- 评论(0)
1. 简介
GTK (GIMP Toolkit) 起源於开发用来做为GIMP (General Image Manipulation Program)的一套工具. GTK建立在GDK (GIMP Drawing Kit)的上层, 基本上是将Xlib功能包装起来. 它被称为GIMP toolkit是因为原来是写来开发GIMP, 但现在被许多免费软体计划所使 ...
- 2011-12-19 17:12
- 浏览 13831
- 评论(0)
一,首先到adobe官方网站上下载基于linux的flash player 插件
http://get.adobe.com/cn/flashplayer/
选择 .tar.gz格式的文件下载
二,解压文件
三,flash插件就是一个libflashplayer.so文件,封装在deb或tar.gz压缩包,把里面的libflashplayer.so解压到/usr/lib/mozilla/plugins (如果没有就新建,这是整个系统设置,需要root权限写入)或者~/.mozilla/plugins (这是只针对该用户,不需要root权限,推荐)然后重启firefox
sudo c ...
- 2011-12-19 10:23
- 浏览 837
- 评论(0)
题目:输入一个英文句子,翻转句子中单词的顺序,单词内字符的顺序不变。
句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。
例子:输入“I am a student.”,则输出“student.a am I”。
总体思想:根据字符串中的' '将切割出每一个单词,然后倒置顺序,最后将整个字符串倒置。
C++源码:
#include<iostream>
#include<string>
using namespace std;
void words_reverse(string *words,int begin,int end)//单纯进行翻转 ...
- 2011-12-18 00:07
- 浏览 657
- 评论(0)
一,下载安装NetBeans
二,配置Netbeans 中的工具集
netbeans--> 工具 --> 选项 --> C/C++
中设置标签页: 生成工具 和 代码帮助生成工具页: 设置自己的mingw工具集路径:代码帮助页: 添加上gtk的include路径, 这样netbeans可以代码提示,
写代码时候非常方便.
针对gtk只需要配置C编译器的包含文件(头文件)目录,把gtk
- 2011-12-16 17:15
- 浏览 825
- 评论(0)
一,GCC用法实例
程序 hello.c#include <stdio.h>
int main(void)
{
printf("Hello,Linux programming world!\n");
return 0;
}$gcc hello.c -o hello //告诉GCC对源程序进行编译/链接,使用 -o 指定创建名为hell.o 的可执行程序
$./hello //执行这个程序
Hello,Linux programming world!
整个过程细节
1,GCC首先运行预处理程序cpp展开hello.c 中的宏,并在其中插入# ...
- 2011-12-15 16:46
- 浏览 662
- 评论(0)
一,安装软件
做好用新得立安装,方便省事。不用配置。
缺点:个人动手配置能力减退。
二,使用vi编辑器时,感觉退格键,不好用。
原因,没有安装vim,安装了vim后,问题自动解决。
- 2011-12-15 14:55
- 浏览 743
- 评论(0)
背景:由于公司需要使用代理上网,则需要设置代理。
一,上网工具Fifox代理设置
依次点击 edit->preferences-> Advanced->network->settings 在里面填写代理服务器的IP,Port就可以了。
如果是虚拟机里,则选择use system proxy settings 。如果不想用代理可以选择Auto-detect proxy……
二,Synapitc package manager新立得
这是在Ubuntu中最常用的一种安装软件的方法了,如果他不能用,那装软件就要费老大的劲了。不过他设置起来也很简单,在 settings ...
- 2011-12-15 00:13
- 浏览 1711
- 评论(0)
在Netbeans中配置C/C++编译环境:http://netbeans.org/community/releases/69/cpp-setup-instructions_zh_CN.html
前提:你在Netbeans中安装了C/C++插件,如果没有的话,先安装上。
一,先下载MinGW:http://sourceforge.net/projects/mingw/files/OldFiles/MinGW%205.1.4/MinGW-5.1.4.exe/download
然后安装到默认路径下,再将 C:\MinGW\bin 目录添加到 Path 变量中。
二,在下载 MSYS-1.0. ...
- 2011-12-14 23:19
- 浏览 784
- 评论(0)
JDK1.6官方下载_JDK6官方下载_JDK1.6API(chm)下载_JDK6APICHM中文参JDK1.6官方下载_JDK6官方下载地址:http://www.java.net/download/jdk6/6u10/promoted/b32/binaries/jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe
JDK6 API CHM中文参考下载:
JDK6API中文参考070114.rar :http://chinesedocument.com/upimg/soft/JDK6API中文参考070114.rar
...
- 2011-12-14 15:10
- 浏览 712
- 评论(0)
判断整数序列是不是二叉查找树的后序遍历结果
题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。
如果是返回true,否则返回false。
例如:输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历(左右根)结果:
8
/ \
6 10
/ \ / \
5 7 9 11
因此返回true。
如果输入7、4、6、5,没有哪棵树的后序遍历的结果是这个序列,因此返回false。
分析:最后一个输出的节点为,根节点。因为7大于根节点,所以前三个节点应该为右子树。而4应该为5左子树所以此序列不是任何一个二叉查找树的后续遍历结 ...
- 2011-12-14 00:28
- 浏览 823
- 评论(0)