snowsoman
11th October 2011, 05:02
I am trying to include a widget i created in another file in my main window file. I get no compile or link errors ,but it will end up breaking on this line in my qobject.h file. I think maybe i am not declaring something right ,but i really have no idea. Any help that can be provided is welcome
inline QObject *parent() const { return d_ptr->parent; }
iconArea.h
#ifndef ICONAREA_H
#define ICONAREA_H
#include <QtGui/QMainWindow>
#include <QWidget>
class iconArea : public QWidget
{
Q_OBJECT
public:
iconArea(QWidget *parent =0);
void setIcon(const QIcon &icon);
void setSize(const QSize &size);
private:
QIcon icon;
QSize size;
void createIcons();
};
#endif // ICONAREA_H
iconarea.cpp
#include "iconarea.h"
#include <QLayout>
#include <QPushButton>
iconArea::iconArea(QWidget *parent)
: QWidget(parent)
{
QGridLayout *mainLayout = new QGridLayout;
setLayout(mainLayout);
QPushButton *button1 = new QPushButton;
button1->setIcon(QIcon("light.png"));
button1->setIconSize(QSize(80,80));
QPushButton *button2 = new QPushButton;
button2->setIcon(QIcon("cloud.png"));
button2->setIconSize(QSize(80,80));
QPushButton *button3 = new QPushButton;
button3->setIcon(QIcon("Control.gif"));
button3->setIconSize(QSize(80,80));
QPushButton *button4 = new QPushButton;
button4->setIcon(QIcon("images.jpg"));
button4->setIconSize(QSize(80,80));
QPushButton *button5 = new QPushButton;
button5->setIcon(QIcon("upgrade.png"));
button5->setIconSize(QSize(80,80));
QPushButton *button6 = new QPushButton;
button6->setIcon(QIcon("power.gif"));
button6->setIconSize(QSize(80,80));
mainLayout->addWidget(button1, 0,0);
mainLayout->addWidget(button2, 0,1);
mainLayout->addWidget(button3, 1,0);
mainLayout->addWidget(button4, 1,1);
mainLayout->addWidget(button5, 2,0);
mainLayout->addWidget(button6, 2,1);
}
void createIcons()
{
}
seniorgui.cpp
#include "seniorgui.h"
#include "iconArea.h"
#include <QtGui>
seniorGui::seniorGui(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
centralWidget = new QWidget;
setCentralWidget(centralWidget);
QGridLayout *mainLayout = new QGridLayout;
mainLayout->addWidget(previewArea, 0, 0, 0, 0);
centralWidget->setLayout(mainLayout);
createActions();
createMenus();
createToolBars();
setWindowTitle(tr("ModBus TCP/IP Senior Gui"));
resize(minimumSizeHint());
}
void seniorGui::closeEvent(QCloseEvent *event)
{
}
void seniorGui::about()
{
QMessageBox::about(this, tr("About Application"),
tr("This is a <b>Application</b> that will use"
"ModBus TCP/IP to connect and control several devices"));
}
void seniorGui::createActions()
{
connectAct = new QAction(QIcon("connect.png"), tr("&Connect"), this);
//connectAct = setShortcuts(QKeySequence::Connect);
connectAct->setStatusTip(tr("Connect to IP Address"));
//connect(connectAct, SIGNAL(clicked()), this, SLOT(connectFile()));
helpAct = new QAction(QIcon("help.gif"), tr("&help"), this);
//connectAct = setShortcuts(QKeySequence::Connect);
helpAct->setStatusTip(tr("Let's Help you out"));
//connect(helpAct, SIGNAL(clicked()), this, SLOT(helpFile()));
qtAct = new QAction(QIcon("qt.png"), tr("&Qt"), this);
//connectAct = setShortcuts(QKeySequence::Connect);
qtAct->setStatusTip(tr("Learn more about Qt"));
//connect(newAct, SIGNAL(clicked()), this, SLOT(qtHelp()));
disconnectAct = new QAction(QIcon("Disconnect.png"), tr("&Disconnect"), this);
//connectAct = setShortcuts(QKeySequence::Connect);
disconnectAct->setStatusTip(tr("Disconnecting from Module"));
//connect(newAct, SIGNAL(clicked()), this, SLOT(disconnectFile()));
}
void seniorGui::createToolBars()
{
fileToolBar = addToolBar(tr("Connect"));
fileToolBar->addAction(connectAct);
fileToolBar->addAction(disconnectAct);
fileToolBar = addToolBar(tr("Help"));
fileToolBar->addAction(helpAct);
fileToolBar->addAction(qtAct);
}
void seniorGui::createMenus()
{
fileMenu = menuBar()->addMenu(tr("&File"));
fileMenu->addAction(connectAct);
fileMenu->addAction(disconnectAct);
fileMenu = menuBar()->addMenu(tr("&Help"));
fileMenu->addAction(helpAct);
fileMenu->addAction(qtAct);
}
/*
void seniorGui::createStatusBars()
{
statusBar()->showMessage(tr("Ready"));
}
*/
seniorgui.h
#ifndef SENIORGUI_H
#define SENIORGUI_H
#include <QtGui>
#include <QIcon>
#include <QLayout>
class QAction;
class QMenu;
class iconArea;
class seniorGui : public QMainWindow
{
Q_OBJECT
public:
seniorGui(QWidget *parent = 0, Qt::WFlags flags = 0);
protected:
void closeEvent(QCloseEvent *event);
private slots:
void about();
private:
void createActions();
void createMenus();
void createToolBars();
QWidget *centralWidget;
// QGroupBox *previewGroupBox;
iconArea *previewArea;
QMenu *fileMenu;
QMenu *editMenu;
QMenu *helpMenu;
QToolBar *fileToolBar;
QToolBar *editToolBar;
QAction *aboutAct;
QAction *aboutQtAct;
QAction *connectAct;
QAction *disconnectAct;
QAction *helpAct;
QAction *qtAct;
};
#endif // SENIORGUI_H
main.cpp
#include "seniorgui.h"
#include <QtGui/QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
a.setOrganizationName("");
a.setApplicationName("");
seniorGui w;
w.show();
return a.exec();
}
inline QObject *parent() const { return d_ptr->parent; }
iconArea.h
#ifndef ICONAREA_H
#define ICONAREA_H
#include <QtGui/QMainWindow>
#include <QWidget>
class iconArea : public QWidget
{
Q_OBJECT
public:
iconArea(QWidget *parent =0);
void setIcon(const QIcon &icon);
void setSize(const QSize &size);
private:
QIcon icon;
QSize size;
void createIcons();
};
#endif // ICONAREA_H
iconarea.cpp
#include "iconarea.h"
#include <QLayout>
#include <QPushButton>
iconArea::iconArea(QWidget *parent)
: QWidget(parent)
{
QGridLayout *mainLayout = new QGridLayout;
setLayout(mainLayout);
QPushButton *button1 = new QPushButton;
button1->setIcon(QIcon("light.png"));
button1->setIconSize(QSize(80,80));
QPushButton *button2 = new QPushButton;
button2->setIcon(QIcon("cloud.png"));
button2->setIconSize(QSize(80,80));
QPushButton *button3 = new QPushButton;
button3->setIcon(QIcon("Control.gif"));
button3->setIconSize(QSize(80,80));
QPushButton *button4 = new QPushButton;
button4->setIcon(QIcon("images.jpg"));
button4->setIconSize(QSize(80,80));
QPushButton *button5 = new QPushButton;
button5->setIcon(QIcon("upgrade.png"));
button5->setIconSize(QSize(80,80));
QPushButton *button6 = new QPushButton;
button6->setIcon(QIcon("power.gif"));
button6->setIconSize(QSize(80,80));
mainLayout->addWidget(button1, 0,0);
mainLayout->addWidget(button2, 0,1);
mainLayout->addWidget(button3, 1,0);
mainLayout->addWidget(button4, 1,1);
mainLayout->addWidget(button5, 2,0);
mainLayout->addWidget(button6, 2,1);
}
void createIcons()
{
}
seniorgui.cpp
#include "seniorgui.h"
#include "iconArea.h"
#include <QtGui>
seniorGui::seniorGui(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
centralWidget = new QWidget;
setCentralWidget(centralWidget);
QGridLayout *mainLayout = new QGridLayout;
mainLayout->addWidget(previewArea, 0, 0, 0, 0);
centralWidget->setLayout(mainLayout);
createActions();
createMenus();
createToolBars();
setWindowTitle(tr("ModBus TCP/IP Senior Gui"));
resize(minimumSizeHint());
}
void seniorGui::closeEvent(QCloseEvent *event)
{
}
void seniorGui::about()
{
QMessageBox::about(this, tr("About Application"),
tr("This is a <b>Application</b> that will use"
"ModBus TCP/IP to connect and control several devices"));
}
void seniorGui::createActions()
{
connectAct = new QAction(QIcon("connect.png"), tr("&Connect"), this);
//connectAct = setShortcuts(QKeySequence::Connect);
connectAct->setStatusTip(tr("Connect to IP Address"));
//connect(connectAct, SIGNAL(clicked()), this, SLOT(connectFile()));
helpAct = new QAction(QIcon("help.gif"), tr("&help"), this);
//connectAct = setShortcuts(QKeySequence::Connect);
helpAct->setStatusTip(tr("Let's Help you out"));
//connect(helpAct, SIGNAL(clicked()), this, SLOT(helpFile()));
qtAct = new QAction(QIcon("qt.png"), tr("&Qt"), this);
//connectAct = setShortcuts(QKeySequence::Connect);
qtAct->setStatusTip(tr("Learn more about Qt"));
//connect(newAct, SIGNAL(clicked()), this, SLOT(qtHelp()));
disconnectAct = new QAction(QIcon("Disconnect.png"), tr("&Disconnect"), this);
//connectAct = setShortcuts(QKeySequence::Connect);
disconnectAct->setStatusTip(tr("Disconnecting from Module"));
//connect(newAct, SIGNAL(clicked()), this, SLOT(disconnectFile()));
}
void seniorGui::createToolBars()
{
fileToolBar = addToolBar(tr("Connect"));
fileToolBar->addAction(connectAct);
fileToolBar->addAction(disconnectAct);
fileToolBar = addToolBar(tr("Help"));
fileToolBar->addAction(helpAct);
fileToolBar->addAction(qtAct);
}
void seniorGui::createMenus()
{
fileMenu = menuBar()->addMenu(tr("&File"));
fileMenu->addAction(connectAct);
fileMenu->addAction(disconnectAct);
fileMenu = menuBar()->addMenu(tr("&Help"));
fileMenu->addAction(helpAct);
fileMenu->addAction(qtAct);
}
/*
void seniorGui::createStatusBars()
{
statusBar()->showMessage(tr("Ready"));
}
*/
seniorgui.h
#ifndef SENIORGUI_H
#define SENIORGUI_H
#include <QtGui>
#include <QIcon>
#include <QLayout>
class QAction;
class QMenu;
class iconArea;
class seniorGui : public QMainWindow
{
Q_OBJECT
public:
seniorGui(QWidget *parent = 0, Qt::WFlags flags = 0);
protected:
void closeEvent(QCloseEvent *event);
private slots:
void about();
private:
void createActions();
void createMenus();
void createToolBars();
QWidget *centralWidget;
// QGroupBox *previewGroupBox;
iconArea *previewArea;
QMenu *fileMenu;
QMenu *editMenu;
QMenu *helpMenu;
QToolBar *fileToolBar;
QToolBar *editToolBar;
QAction *aboutAct;
QAction *aboutQtAct;
QAction *connectAct;
QAction *disconnectAct;
QAction *helpAct;
QAction *qtAct;
};
#endif // SENIORGUI_H
main.cpp
#include "seniorgui.h"
#include <QtGui/QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
a.setOrganizationName("");
a.setApplicationName("");
seniorGui w;
w.show();
return a.exec();
}