Jump to Navigation

Welcome!

  NullGet是使用Qt编写的,运行于多种平台的GUI界面的多线程多协议断点续传下载软件。  使用NullGet可以轻松下载网络的多种协议的数据流,加快下载速度,支持断点续传,目前支持的协议有:HTTP,HTTPS,FTP,MMS,RTSP。而且它能运行于当前大多数流行的操作系统,包括Windows,Linux,FreeBSD等。     下载NullGet

  NullFXP 是一个基于Qt 4 开发的SFTP/FTP 客户端软件。目前已经实现基本的多文件上下传功能。详细信息查看本站项目说明页面。     下载nullfxp

  我们的目标是打造一个开源的,跨平台的,多线程的,运行稳定的下载软件,另一个就是整理Qt库开发跨平台GUI应用程序的相关资料。欢迎各位朋友对本站开源项目提供意见及建议,欢迎有兴趣的朋友参与本站开源项目,请联系 drswinghead at gmail dot com

纯手工编译安装 KDE4-svn

  1. 前提:

    qt-4.4.0以上

    g++

    cmake

    subversion

    确认qmake, g++, cmake, svn 在你的PATH中。

  2. 安装KDE4桌面必须的基本包:

    kdesupport

    webkitkde

    kdelibs

    kdepimlibs

    kdebase

  3. 环境变量:

    KDEDIR kde安装路径

    PKG_CONFIG_PATH .pc文件搜索路径 在这个变量中加上路径:~/kde/lib/pkgconfig/

    如:export PKG_CONFIG_PATH=/home/kde/kde/lib/pkgconfig/:$PKG_CONFIG_PATH

  4. 目录结构:

    ~/kde/ 安装编译好的KDE4程序及库

    ~/sources/ 源代码,编译临时文件。

    ~/sources/src/ 源代码,

Category:

CLISP语言学习笔记

CLISP语言学习笔记

Category:

CLISP语言中的文件操作

  1. CLISP中,目录并不等于文件.

    CLISP为目录和文件分别提供了操作函数,而不是统一的函数.

  2. 文件操作函数

    PROBE-FILE 检查文件是否存在,它不能检查目录是否存在.

    FILE-AUTHOR 目录这个函数总NIL,因为当前的文件系统中的文件没有这一属性了.

    FILE-OWNER 返回文件的属主.

    DELETE-FILE 删掉一个文件. 当这个函数作用于一个在被CLISP打开的文件的时候会错.

    RENAME-FILE 文件改名函数.

  3. 目录操作函数

    DIRECTORY 函数. 类似于系统中的dir或ls命令,能列出目录下的符合条件的文件.

    EXT:DIR 函数,与DIRECTORY函数类似,不过这个函数会直接输出结果,也就是说这个函数没有返回值.

    EXT:CD 函数, 转到另一个目录.

    EXT:DEFAULT-DIRECTORY 函数, 等价于(EXT:CD). 这个函数返回当前目录值.

    EXT:MAKE-DIRECTORY 函数,创建目录.

    EXT:DELETE-DIRECTORY函数, 删除目录

使用sshfs将远程ssh服务器文件系统mount到本地目录

sshfs 适用于linux平台

sshfs: 基于 SSH 协议的虚拟文件系统,能将一台SSH服务器的特定目录 mount 到本地目录,然后在本地目录中像操作本地文件一样使用这些文件。

sshfs 依赖内核模块 fuse (用户空间文件系统),在最新linux内核2.6.26中已经包含该模块,在编译内核的时候开启这个模块即可。

sshfs 依赖软件fuse,首页 http://fuse.sf.net

版本说明:
已经测试过可用的版本组合:
kernel fuse sshfs
2.6.23 2.7.3 1.9
2.6.26 2.8-r1 1.9

安装:
编写新内核linux-2.6.26,开启fuse模块。重新启动,以root用户执行 modprobe fuse 如果没有错误,则表示fuse模块已经可用。否则要重新配置内核并编译。

CLISP语言中的哈希表

  1. 概要

    hash表是一种非常重要的数据结构,用于存储键/值对.
    可方便的向hash表中加入条目,使用键值取得条目.
    根据运行效率的不同, CLISP中有三种hash表类型: 标准hash表,快速hash表和稳定hash表.
    它们的区别是:

    对于快速hash表,垃圾回收器会便利其中的哈希值无效,被错误的回收了(除非所有的key值都是即对象,如常量字符串,数字等).
    对稳定hash表,垃圾绝不会对其进行错误回收,因此key值可以是任何CLISP对象.
    使用的时候注意,一般对生命周期短的hash表可以考虑使用快速hash表.

  2. hash表操作函数
    1. make-hash-table 创建一个hash表

      (MAKE-HASH-TABLE &KEY :TEST :INITIAL-CONTENTS :SIZE

      :REHASH-SIZE :REHASH-THRESHOLD
      :WARN-IF-NEEDS-REHASH-AFTER-GC :WEAK)

CLISP语言中的字符串

CLISP中的字符串是一种特定类型的VECTOR,它的元素是字符。

  1. 字符串比较

    字符串的比较基于字符的比较。

    但是对于双重母音却与通常的自然规则不同,如:

    o < oe < z < ö

    字符串比较函数:

多文档界面

在一个主窗口中心区域提供多个文档界面的应用程序被称为多文档界面应用程序或者称为MDI应用程序,QT中一个MDI应用程序是利用Qworkspace类作为中心物件,每一个文档窗口作为Qworkspace子物件。
对于MDI程序来说提供了一个包含用来管理窗口和窗口序列的窗口菜单是非常方便的。活动窗口是用一个选中标志来识别。用户可以在”窗口菜单”中点击相关项目来激活任意窗口。
在这一部分,我们将要开发在图6.16中显示的MDI Editor应用程序来演示如何创建一个MDI应用程序及如何它的“窗口菜单”。
图6.16 MDI Editor 应用程序

这个应用程序包含两个类:MainWindow和 Editor.代码可以从CD中找到, 因为它的代码大部分与第一部分的Spreadsheet应用程序相同或相近,所以我们将只显示新的代码。

图 6.17. The MDI Editor application's menus

让我们从MainWindow类开始

可停靠物件和工具栏

可停靠物件是能停靠在QMainWindow边上或者悬浮为一个独立窗口的物件。QMainWindow提供四个可停靠物件区域:中央物件的上面,下面,左边,右边各一个。像Microsoft Visual Studio和Qt语言家等程序大量使用了可停靠物件以提供一个非常灵活的用户界面。在Qt中,可停靠物件是QDockWidget的实现。

图6.13 一个带有一个可停靠物件的QMainWindow

每个可停靠物件都有自己的标题栏,甚至在它们停靠住也一样。用户可以拖动可停靠物件的标题栏把它从一个停靠区域移动到另一个停靠区域。它们还能通过把可停靠窗口拖离所有停靠区域使它从一个区域脱离出来并成为一个悬浮起来成为一个独立的窗口。自由浮动的可停靠窗口总是在他们 主窗口的上面。用户可以点击物件标题栏上的关闭按钮来关闭一个QDockWidget。所有这些功能的组合可通过调用QDockWidget::setFeatures()来禁止。
在Qt的早期版本中,工具栏被当然可停靠物件对待,并与之共享相同的停靠区域。从Qt 4 开始,工具栏占据中央物件周围的它们自己的区域(如图6.14所示),并且它们还不能被脱离开。如果需要一个浮动的工具栏,我们可以简单的把它放到一个QDockWindow里面即可。

滚动区域

QScrollArea类提供了一个可滚动的视口和两个滚动条。如果我们想给一个物件添加滚动条,使用QscrollArea比使用我们的QscrollBars并自己实现滚动功能要简单的多。

图 6.11 QscrollArea的示例物件

使用QScrollArea的方法是以我们想添加滚动条的物件为参数调用setWidget()。QScrollArea会自动重置物件的父物件以让它成为该视口(通过QScrollArea::viewport()访问)的子物件,如果当前还不是的话。例如,如果我们希望在第5章中开发的IconEdit物件有一个滚动条,我们可以像下面这么写:

分隔条

QSplitter是一个可包含其他物件的物件。在分隔条中的物件被分隔手柄分开。用户可拖动手柄改变分隔条中的子物件的尺寸。分隔条经常被用作一种布局管理器的替代,以给用户更多的控制。
一个QSplitter的子物件被以它们被创建的顺序并排(或者一个在其他的下面)在一起放置,并在相邻的物件间有分隔手柄。下面是创建图6.7中的窗口的代码:

页面

订阅 www.qtchina.tk RSS


Main menu 2

by Dr. Radut