PDA

View Full Version : undefined reference to `QUiLoader::QUiLoader(QObject*)'



ashukla
18th December 2007, 12:28
Dear Sir!
The following error occurs when I make the project.


mywidget.o: In function `MyWidget::MyWidget(QWidget*)':
mywidget.cpp:(.text+0x48): undefined reference to `QUiLoader::QUiLoader(QObject*)'
mywidget.cpp:(.text+0xb5): undefined reference to `QUiLoader::load(QIODevice*, QWidget*)'
mywidget.cpp:(.text+0x119): undefined reference to `QUiLoader::~QUiLoader()'
mywidget.cpp:(.text+0x153): undefined reference to `QUiLoader::~QUiLoader()'
mywidget.o: In function `MyWidget::MyWidget(QWidget*)':
mywidget.cpp:(.text+0x1c8): undefined reference to `QUiLoader::QUiLoader(QObject*)'
mywidget.cpp:(.text+0x235): undefined reference to `QUiLoader::load(QIODevice*, QWidget*)'
mywidget.cpp:(.text+0x299): undefined reference to `QUiLoader::~QUiLoader()'
mywidget.cpp:(.text+0x2d3): undefined reference to `QUiLoader::~QUiLoader()'
collect2: ld returned 1 exit status


//mywidget.h code is as follows


#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QtGui>

class MyWidget: public QDialog
{
Q_OBJECT

public:
MyWidget(QWidget *parent = 0);

};
#endif //MYWIDGET_H


//mywidget.cpp code as follows;


#include "mywidget.h"
#include <QtUiTools/QUiLoader>
#include <QFile>
MyWidget::MyWidget(QWidget *parent)
: QDialog(parent)
{
QUiLoader loader;
QFile file("dlgtextscroller.ui");
file.open(QFile::ReadOnly);
QWidget *myWidget = loader.load(&file, this);
file.close();

QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(myWidget);
setLayout(layout);
}


//main.cpp code
#include <QApplication>
#include "mywidget.h"

int main(int argc, char **argv)
{
QApplication app(argc,argv);
MyWidget *dialog=new MyWidget;
dialog->show();

return app.exec();
}

What is wrong in this?

marcel
18th December 2007, 12:30
You forgot to include UiLoader in mywidget.cpp.
Add:


#include <QUiLoader>

jpn
18th December 2007, 12:31
QUiLoader is part of QtUiTools module.

CONFIG += uitools

marcel
18th December 2007, 12:34
QUiLoader (http://doc.trolltech.com/latest/quiloader.html) is part of QtUiTools (http://doc.trolltech.com/latest/qtuitools.html) module.
Oh, God damn it...
I really should answer a post AFTER reading it for more than 10 seconds.

wysota
18th December 2007, 12:51
I really should answer a post AFTER reading it for more than 10 seconds.

True but then somebody might answer before you :) We should really have some policy about it...

ashukla
18th December 2007, 13:06
True but then somebody might answer before you :) We should really have some policy about it...
Dear Sir!
I am agree with you.
with best regards!

ashukla
18th December 2007, 13:14
MyWidget::MyWidget(QWidget *parent)
: QDialog(parent)
{
QUiLoader loader;
QFile file("dlgtextscroller.ui");
file.open(QFile::ReadOnly);
QWidget *myWidget = loader.load(&file, 0);
file.close();

QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(myWidget);
setLayout(layout);
//myWidget->resize(800,600);
}

My .ui is loaded but displays in a small rectangle size,then I resize it manually for viewing.
I resize it with above code but there is no effect what I do for that.

walas
7th October 2011, 19:05
sorry.... I haven`t get it what de solution is?? I have the same problem...
I put #include <QtUiTools/QUiLoader>
beacues <QUiLoader> is not correct it says :S please some help :)