1. Qt如何实现静态编译与动态编译共存
通常不需要在系统变量中加入Qt库的位置的。Qt Creator可以自动扫描到系统中存在的Qt库版本,如果扫描不到,可以通过Creator的 Tool->Options->Qt4中添加静态库的路径。而QDevelop虽然没有那么智能,但是可以手动指定INCLUDE和LIB的位置。或许,这根本就不是一个问题。如果怀念动态库,或者在产品发布之前并不想体验静态编译那种蜗牛爬一般的速度,可以在pro文件中指定CONFIG += shared,而且,要记得在Project中选择相应的版本。
2. Qt嵌入式多语言的同时问题,怎么解决
引言:目前,Qt作为图形开发软件使用的人群越来越多,很多公司的产品有多国语言支持的需求,笔者就教学与项目开发中的经历,小结了Qt多国语言(国际化)问题,仅供参考。
假设我们已经建好一个工程,且可以运行出基本的界面。
1、打开项目工程文件QTDemo.pro,添加如下语句:
TRANSLATIONS += en.ts zh_CN.ts zh_TW.ts
2、然后在命令行窗口中输入以下命令:
lupdate QTDemo.pro
这样就生成了3个语言文件:en.ts,zh_CN.ts,zh_TW.ts
3、用linguist(在QT安装目录下的bin目录中)打开zh_CN.ts(简体中文),选择“编辑”->“翻译文件设置…”,选择Chinese/China:选中某一个字符串,在译文文本框
中输入对应于中文的字符串:
同理,进行zh_TW.ts(繁体中文)文件的翻译,en.ts(英文)文件不用翻译。
4、用 lrelease QTDemo.pro 将对应的.ts文件生成.qm文件,.qm文件比较紧凑、体积小。
5、在程序中添加对国际化的支持,将main.cpp修改为如下内容:
#include <QApplication>
#include <QTranslator>
#include "QtDemo.h"
int main(int argc, char **argv)
{
QApplication app(argc, argv);
//以下3句话是装载的程序
QTranslator translator;
translator.load(QString(argv[1]));
app.installTranslator(&translator);
QtDemo *dlg = new QtDemo;
dlg->show();
return app.exec();
}
重新执行make命令,生成可执行程序。
在运行程序时通过传递命令行参数指定所使用的语言,注意不需要指定扩展名.qm,例如:
./QTDemo zh_CN 就出现中文的界面了,其他的依次类推。
3. qt多个工程之间调用
把公用的部分做成库。然后都添加那个库,就可以共享代码了。
4. qt creator 多项目编译
要设置环境变量的
我的电脑-属性-高级-环境变量-PATH里添加新的环境变量。
D:\Qt\2009.04\mingw\bin;D:\Qt\2009.04\qt\bin;
我的是这2个,你该成你相应的目录。
那我就不知道了,我只在WINDOW下用过。
5. qt如何设置宏区分同一个平台多套件编译
在pro里面定义一个宏,然后在代码中根据这个宏进行条件编译。
下面是一个示例:
网页链接
6. 嵌入式平台 同时运行多个qt程序,如何做到只有一个程序占用屏幕,使点击屏幕只有一个程序响应
可以把其他放到后台运行嘛,前台放一个就行了。如果是qt界面的话,可以用hide把其他窗口隐藏起来,只显示一个不就行了
7. QT如何静态编译和动态编译共存
本身就是共存的,至于用不用得到动态那要看你的代码是怎样写的,有虚函数就可以了
8. 如何同时打开两个QT工程我需要分别编译两个工程~
在项目列表中,右击项目名称,在弹出的菜单里选择构建、运行即可。
9. qt如何实现多窗口编译
qt我不是很了解,但是用BCB的话呢,设置多个FORM(窗口) 比如frm1(原窗口),frm2(登录窗口);
点登录的时候设置FORM的属性使frm1隐藏(hide),frm2出现(show);
点返回的时候设置FORM的属性使frm1出现,frm2隐藏。
我想语言之间有相似之处吧,提供参考。