Esimerkissä tutkitaan kuinka luodaan Library, jossa on myös käyttöliittymä. Tehdään Library nimeltään mydll. Libraryyn lisätään Ui, jossa on painike ja tekstikenttä. Kun painiketta painetaan käyttäjä antama arvo "palautetaan" Librarystä ja Ui suljetaan.
Kun Library(mydll) on luotu, tehdään "exe-projekti" eli sovellus, joka hyödyntää Libraryä. Sovellus toimii seuraavasti:
QT += gui QT += widgets
QString dialogValue;
QString a=ui->textValue->text(); this->setDialogValue(a); this->close();
#ifndef MYDLL_H
#define MYDLL_H
#include "mydll_global.h"
#include "dialog.h"
#include <QString>
#include <QObject>
#include <QDebug>
class MYDLL_EXPORT Mydll
{
public:
Mydll();
void openDllDialog();
QString getDllValue() const;
private:
Dialog *objectDialog;
QString dllValue;
};
#endif // MYDLL_H
#include "mydll.h"
Mydll::Mydll()
{
}
void Mydll::openDllDialog()
{
objectDialog=new Dialog;
objectDialog->exec(); //huom! Tässä on käytettävä nimenomaan exec-metodia
dllValue=objectDialog->getDialogValue();
qDebug()<<"opendialog dllValue="+dllValue;
delete objectDialog;
}
QString Mydll::getDllValue() const
{
qDebug()<<"getDialogvalue dllValue="+dllValue;
return dllValue;
}
#include "mydll.h"Ja private osaan rivi
Mydll *objectMyDll;
objectMyDll=new Mydll;Ja tuhoa em. olio luokan tuhoajassa.
objectMyDll->openDllDialog(); QString valueFromDll=objectMyDll->getDllValue(); ui->textValue->setText(valueFromDll);
Seuraava ohje toimii vain kun käytössä on qmake