您的位置:首页 > 产品设计 > UI/UE

Qt Gui使用(三)

2016-05-04 17:10 417 查看
1、dll加载使用:

typedef void* (*TInitObjectLayer)();

typedef void (*TUnInitObjectLayer)();

typedef void* (*TGetObjectLayerProjectObject)();

//定义对象组态dll插件中的函数变量

TInitObjectLayer
m_fObjInit;
//对象dll初始化函数指针

TUnInitObjectLayer
m_fObjUninit;
//对象dll释放函数指针

TGetObjectLayerProjectObject
m_fObjGetProObj; //对象dll获取工程对象指针

QString sObjDllName = QCoreApplication::applicationDirPath() + "/ObjectLayer";

QLibrary lib(sObjDllName);

if(!lib.load()) return;

m_fObjInit = (TInitObjectLayer)lib.resolve("InitObjectLayer");

m_fObjUninit = (TUnInitObjectLayer)lib.resolve("UnInitObjectLayer");

m_fObjGetProObj = (TGetObjectLayerProjectObject)lib.resolve("GetObjectLayerProjectObject");

if(NULL == m_fObjInit)

{

qDebug("Error:Load ObjectLayer Failed!");

return;

}

gpProObj = (TDMSObject*)m_fObjInit();

2、相对路径、绝对路径获取方式:

QString sFileTmp = QFileDialog::getOpenFileName(pParent, sCaption, sFileName, sFilter);

if("" == sFileTmp)

{

return false;

}


QDir dir(QApplication::applicationDirPath());

sFileName = dir.relativeFilePath(sFileTmp);


QDir dir(QApplication::applicationDirPath());

QString sAbsRunImg = dir.absoluteFilePath(sRunImgPath);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: