最近学习了QT,有几个遇到的问题记录下:
环境是windows+VS2008,用QTcreater
配置:
选工具-选项-文本编辑器-行为-文件编码-默认编码,选择 System,这样输入的文字不会乱码
选工具-选项-构建和运行-QT Version-添加,把QT安装目录里的X:\QT\4.X.X\bin\qmake.exe , 然后点击应用
选工具-选项-构建和运行-套件Kit,下面的QT版本选择 QT 4.X.X
中文乱码:
在主程序里添加以下代码:
QTextCodec::setCodeForTr(QTextCodec::codeForLocal());
项目里所有字符都使用tr()
在其他电脑上运行不起来:
1.先要把QtCore4.dll和QtGui.dll拷贝到exe目录下
2.把mainfast里提到的dll也要拷贝到目录下,是一些VS的DLL,具体百度
使用别的lib:
在项目的.pro文件添加,格式类似makefile
DEFINES += // 宏定义
LIBS += -L../../dir // 库目录
LIBS += -lthread // 静态库
INCLUDEPATH += ../../dir // 头文件目录
contains(DEFINES, xxxxxxx) // 代替#ifdef #else
{
XXXXXX
}
资源文件:
新建QT资源文件.qrc,把图片加进去,就能编译在可执行文件里。
应用程序图标:
手动新建XXXXXX.rc文件,写入内容(XXXX是图标名)
IDI_ICON1
ICON
DISCARDABLE
"XXXXXX.ico"
保存,放在项目目录下,
.pro文件里添加
EC_FILE = XXXX.rc
警告消除:
警告:与XXX不一致,请使用/NODEFAULTLIB:libraary
在QT安装目录下的mkspecs目录下找到对应的编译器,比如我的是win32-msvc2008下面的qmake.conf
打开,在QMAKE_LFLAGS_DEBUG和RELEASE这两行后面添加
/NODEFAULTLIB:XXX.lib (XXXX是警告的那个)
如果有多个就写多个
托盘图标不显示:
不要用ico格式的托盘图标