这两天来QT4学习的几点收获

经过这几天的摸索,在 QT4 编程上有个几点收获,包括一些方法和注意
1.关于编程工具
就目前的摸索,个人觉得 qdevelop 是最适合开发 QT4 程序的,现在的版本是 0.25。其本身就是由 QT4 编写而成的。界面非常统一啊。只持的功能包括以下几点:a)代码提示;b)自动缩进;c)工程管理;d)调用 QT designer 可视化布局。并且这几点功能都完成得相当出色。

2.关于布局的注意事项
再对程序布局的最后一步中是点取主窗口,而不是全选所有部件来完成,前者可以实现部件自动随主窗口变化而变化,后者则不能实现,除非再补一下前者的操作。否则主窗口中的部件的大小是就固定不变的,不随主窗口大小变化而变化。

3.槽函数重载(SLOT)
假设在 designer 中已经对一个系统槽函数作了连接,
那么在代码中所要的操作就是:
a)在头文件中(例 MyDialog.h)添加槽声明
private SLOT:
virtual void accept();
b) 在功能温文件中(MyDialog.cpp)添加函数定义
void MyDialog::accept()
{
//Your code here;
}

4.自定义槽函数(SLOT)
自定义的槽函数在 designer 中无法完成连接,还是在功能程序(MyDialog.cpp) 中作连接
a)在头文件中(例 MyDialog.h)添加槽声明(其中,函数类型不再是 virtual 型的了。
private SLOT:
void hello();
b) 在功能文件中(MyDialog.cpp)添加函数定义
void MyDialog::hello()
{
//Your code here;
}
c)
连接直接写在setUi(this)后的下一行。
connect(sender,SIGNAL(),receiver,SLOT(hello()));

Windows下Eclipse的UTF8设置

如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文输出,则最好使 Java文件使用UTF-8编码。然而,Eclipse工作空间(workspace)的缺省字符编码是操作系统缺省的编码,简体中文操作系统 (Windows XP、Windows 2000简体中文)的缺省编码是GB18030,在此工作空间中建立的工程编码是GB18030,工程中建立的java文件也是GB18030。如果要使 新建立工程、java文件直接使UTF-8则需要做以下工作:
1、windows->Preferences…打开”首选项”对话框,左侧导航树,导航到general->Workspace,右 侧Text file encoding,选择Other,改变为UTF-8,以后新建立工程其属性对话框中的Text file encoding即为UTF-8。
2、windows->Preferences…打开”首选项”对话框,左侧导航树,导航到general->Content Types,右侧Context Types树,点开Text,选择Java Source File,在下面的Default encoding输入框中输入UTF-8,点Update,则设置Java文件编码为UTF-8。其他java应用开发相关的文件 如:properties、XML等已经由Eclipse缺省指定,分别为ISO8859-1,UTF-8,如开发中确需改变编码格式则可以在此指定。
3、经过上述两步,新建java文件即为UTF-8编码,Eclipse编译、运行、调试都没问题,但是做RCP应用的Product输出时、或者插件 输出时,则总是出错,要么不能编译通过(输出时要重新compile)、要么输出的插件运行时中文显示乱码。此时需要再RCP应用、或插件Plugin工 程的build.properties中增加一行,javacDefaultEncoding.. = UTF-8。让输出时编译知道java源文件时UTF-8编码。这个设置需要保证所有的java源文件时UTF-8编码格式,如果不全是,可以参考 Eclipse帮中(Plug-in Development Environment Guide > Reference > Feature and Plug-in Build configuration),建议全部java源文件是UTF-8编码。

如果插件开发、RCP应用开发原来基于其他编码,如GB18030,想转换为UTF-8,则首先,做以上工作;然后通过查找编码转换工具,如基于 iconv的批量转换工具,将原编码转换为UTF-8编码,注意只转换java源文件,其他类型文件可能已经是比较合适的编码了;将原工程属性中的 Text file encoding,从原编码改为UTF-8即可。

引用来源: http://www.cnblogs.com/anson2020/archive/2008/02/23/1078636.html

Eclispe 中不支持 for-each 的错误信息的修正

在 jre 版本 为1.6.0 下编译java代码, 在for each 行循环意外报错, 错误信息是“语法错误,仅当源级别为 5.0 时“for each”语句才可用”

解决方法:

在eclipse下,选窗口(Windows)->首选项(Preferences)->Java(Java)->编译器(Complier),将里面的编译器一致性级别(Compiler compilance level) 设置为6.0 (如果你用5.0也出现这种现象,就选5.0)。然后应用设置。

参考来源:
http://hi.baidu.com/06whuiss/blog/item/7154a5c4441347ad8226accd.html