让Qt Designer设计的Widget随MainWindow增大而增大

入门Qt,各位老鸟见笑了。网上一搜有这个问题的还不少,而且一些中文博客/论坛用一些旁门左道误导不明真相的群众,还是写下本文吧。

问题描述

通过Qt Creator中的Designer(或者独立的Qt Designer程序)设计Qt程序外观的时候,里面添加的小部件(Widgets)不能随着主窗体(MainWindow)的增大而增大。

解决办法

Continue reading “让Qt Designer设计的Widget随MainWindow增大而增大”

Linux下Qt创建和调用共享库文件.so

费了点功夫,总算get了编写共享库(Shared Library,Windows下称为“动态链接库”,即Dynamic Link Library)和调用的这个新技能!

动态链接库的好处是不言而喻的,一个稍微复杂一点的程序,顶层设计的时候良好的类库划分可以让工作变得很简单,而将不同类编译成共享库文件可以实现程序的模块化,提高代码复用程度,在保证接口兼容的情况下更新一个程序只用更新共享库(Windows下是dll,Linux下常见的是so)即可。

下面以Linux下的Qt Creator这个IDE为例,讲述Qt(严格意义上是C++)共享库文件的编译和调用。

Continue reading “Linux下Qt创建和调用共享库文件.so”

C++版(Qt)灵格斯LD2/LDX文件解析/读取工具

感慨一下开源的力量真是巨大。

自我感觉KDictionary的大部分功能都已经实现的大差不差了,所以现在想着手实现下一个重要特性:离线词典。瞄准了灵格斯词霸的海量词库文件,一大堆的LD2/LDX文件,而且封闭的文件格式也已经被高手破解了!

然后鄙人花了几天功夫,再一次Qt的现学现卖,把Java代码移植到了C++(使用了Qt库)。为什么要移植?因为Plasmoid不能用Java写啊……而且我不想学Java

Continue reading “C++版(Qt)灵格斯LD2/LDX文件解析/读取工具”

在OpenShift上用Octopress搭建静态博客

Octopress是一个基于Jekyll的框架,两者均开源,而且都是Ruby……为什么不推荐直接用Jekyll呢,呃……因为Octopress把Jekyll包装得很好了啊。嗯,为什么不直接在Github Pages上部署?在GP上部署很简单的,但是在OpenShift上部署就不那么容易了(略微tricky一点,整体还是很简单)。

下面就讲述一下我搭建Octopress的方法,目测比网上流传的各个版本简单!

Continue reading “在OpenShift上用Octopress搭建静态博客”

添加圣经金句Widgets到你的WordPress

WordPress上的那些个Daily Verses的插件都很不好用,出来的Widgets效果很丑,不如直接用网上提供的JavaScript代码。我搜罗了一圈,整理了中英文等多个版本的圣经金句类的Widgets代码。

首先在WordPress添加小工具中添加一个文本小工具,文本标题随便你取什么,文本的内容根据你的需要选择下面的其中一个吧。

先说中文的吧,中文的是在W4J上找到的,不过这个是“动态圣经金句”,每次刷新页面都会变的(效果参见本站右侧的小工具),这里只列出UTF-8编码的范例。

Continue reading “添加圣经金句Widgets到你的WordPress”

添加fedoraproject提供的Pastebin服务

在Pastebin的设置里面,点击Get New Providers(中文翻译为「百宝箱」),就能找到paste.fedoraproject.org(我今天刚刚上传的)。点击Install(「安装」),稍微等一会就装好了!

然后就能用paste.fedoraproject.org作为Pastebin的服务提供点了!Fedora Users走起!

手动下载地址:http://opendesktop.org/content/show.php?content=157764

关于什么是Pastebin?这么强大的贴代码的工具都不知道……自行面壁思过。

使用autoconfig.php快速部署ownCloud到AppFog

上一篇文章讲了一个非常笨的办法(去修改setup.php),本文讲一个「正常」一点的办法部署ownCloud到AppFog,下载ownCloud这一步就不要我再啰嗦了吧?

下载之后还是要删掉apps下面的firstrunwizard,这个二缺玩意儿永不会消失,我禁用它之后它也不消失……好了,跑到config下面,修改config.sample.php这个文件,修改apps_paths数组的内容如下。

	array(
		'path'=> OC::$SERVERROOT."/apps",
		'url' => '/apps',
		'writable' => true,
	),

然后还是在config文件夹下,新建一个文件,文件名为autoconfig.php,内容如下。

Continue reading “使用autoconfig.php快速部署ownCloud到AppFog”

CoffeeScript学习第一天

因为Shadowsocks-dotCloud和Shadowsocks-nodejs的关系接触到CoffeeScript,后来Google了一下,结合CoffeeScript自己的说明。嗯,CoffeeScript就是纯粹的JavaScript,提取JavaScript好的部分。今天稍微体验了一下,CoffeeScript的感觉很像Ruby、Go这种「新型」脚本语言。

本地环境的搭建

首先必须安装好nodejs和npm,然后命令行输入

sudo npm install -g coffee-script

好了……本地环境搭建完成了……至于IDE么……我没找到什么好用的IDE,常用的各类编辑器都支持CoffeeScript语法高亮。Mac用TextMate,Linux/BSD里KDE下用Kate,GNOME下可以用GEdit等等。

语法简要

我的感觉是,嗯,一切都是对象,所以所有的「赋值」操作都是通过等号完成。如:

Continue reading “CoffeeScript学习第一天”

批量删除软链接

find -type l -delete [PATH]

上面这条命令就可以将[PATH]路径下的所有软链接都删除掉。

用的是find这个Linux下非常实用的命令,type参数限定了文件类型为l(links),加上-delete删除参数就可以实现找出所有软链接并删除。

如果是要删除失效的软链接,需要加上一个-L参数,表示追踪软链接:

find -L [PATH] -type l -delete

我只所以需要删除全部的软链接是因为现在制作W22PRO的ROM遇到一个小麻烦,因为没有Bootloader和内核源代码,所以不能make otapackage生成zip刷机包,只好直接拿编译出来的system目录操作,但是这个目录下包含了太多软链接了,直接拿来压缩会得到一个巨大的zip包,所以必须先删除软链接(这些软链接将会通过刷机脚本updater-script重新生成),终于Google到了上面这条命令,非常实用,特此记录下来。

少年,在Android平板上编程吧(Python篇)

  1. 在Play商店搜索安装DroidEdit,当然你要是下载盗版的DroidEdit Pro我也无所谓。
  2. 然后下载并安装Python3ForAndroid (是时候从Python2转到Python3了)
  3. 确认平板联网,在平板上打开Python3forAndroid,等它获取最新的版本后,点击Install按钮然后会自动下载一些压缩包并解压安装好Python3 for Android(我装了之后Python的版本是3.2.2)
  4. Play商店安装Terminal(Linux下用终端习惯了,不装这个还真不爽)
  5. 下载bash (XDA帖子附件) ,解压,将里面的bash用R.E.管理器复制到/system/bin/下,并修改权限使其可执行。
  6. 打开Terminal,设置终端shell使用bash而不是系统内置的sh
  7. 如果有空,可以安装一个完整版的busybox,替换/system/xbin下的阉割版,并用alias命令让chmod、cp、mv、ls等常用的Linux命令改成完整的busybox版而不是Android阉割版。
  8. 最后一步比较重要,关系到能否在终端下简单的运行Python命令,下载我给的这个文件(盛大网盘已死)
  9. adb push python3 /system/bin
  10. 然后用R.E.管理器修改python3权限使其可执行

在Terminal里测试python3命令吧,如果出现下图所示界面就成功了。图已破,推他已死。