写好了信号和操 但是就是无法响应。
connect(this, SIGNAL(findNext(const QString & , Qt::CaseSensitivity )), this, SLOT(kicknext()));
这里是不是写了参数名
connect(this, SIGNAL(findNext(const QString & param,Qt::CaseSensitivity )), this, SLOT(kicknext()));
这里如果写了参数名是不正确的,但是不会报错。
--------------------------------------------------
在弹出框等地方显示中文
在main 中加上下面这几句
//设置编码,一般在Window开发环境里,是GBK编码,在Linux开发环境里,是utf-8编码
//获取系统编码,否则移植会出现乱码
QTextCodec *codec = QTextCodec::codecForName("System");
//设置和对本地文件系统读写时候的默认编码格式
QTextCodec::setCodecForLocale(codec);
//设置传给tr函数时的默认字符串编码
QTextCodec::setCodecForTr(codec);
//用在字符常量或者QByteArray构造QString对象时使用的一种编码方式
QTextCodec::setCodecForCStrings(codec);
--------------
写了一个动态库,主程序去调用,但是发现无法定义对象。
问题是:你动态库导出了么。。。。class Q_DECL_EXPORT 。。。
QT 编译报错
error LNK2001: 无法解析的外部符号 "public: static struct QMetaObject const
工程添上动态库的moc_ 文件就能编译通过了。
所以动态库中最好不要有
class Q_DECL_EXPORT HsWriteData: public QObject,public iRealTimeDataWriter
{
Q_OBJECT
} 这里同时有了 Q_DECL_EXPORT 和 Q_OBJECT 应该是不对的。
----------------qt 中将base64位的数据转换为正常数据,这里base64为图片打包以后的gz文件,处理后保存为gz文件
QByteArray bytearrayfrombase64 = QByteArray::fromBase64(ptext.toAscii());
QString filepath = m_SatelltieFilePath+"/" + "yuntu.tar.gz";
SaveFile(filepath,bytearrayfrombase64);
------------------------------