I am new to qt so please forgive my ignorance. I have created a dialog box using qt creator. When I call this from my main window which I have a button for, the call opens up my qdialog box but also a new dialog box. Not sure what is going on. Here is the revelant parts of my code

itemmaintenance.cpp

void ItemMaintenance:n_pricingButton_clicked()
{
// itemPrice i;
itemPrice *ip = new itemPrice();
ip->show();
}

itemPrice.h
#ifndef ITEMPRICE_H
#define ITEMPRICE_H

#include <QDialog>
#include "ui_itemPrice.h"
#include <QTableView>
#include <QtSql>

namespace Ui {
class itemPrice;
}

class itemPrice : public QDialog
, public Ui::itemPrice
{
Q_OBJECT

public:
itemPrice(QWidget *parent = 0);
virtual ~itemPrice();

private:
Ui::itemPrice *ui;
QSqlTableModel *ipmodel;
QTableView *iptableView;

private slots:
void loadData(QString);
};

#endif // ITEMPRICE_H

itemprice.cpp
#include "itemprice.h"

itemPrice::itemPrice(QWidget *parent) :
QDialog(parent)
,ui(new Ui::itemPrice)
{
ui->setupUi(this);
// setupUi(this);
loadData(" ");
}

itemPrice::~itemPrice()
{
delete ui;
}

void itemPrice::loadData(QString partNumber)
{

ipmodel = new QSqlTableModel;
ipmodel->setTable("in_price");
ipmodel->setEditStrategy(QSqlTableModel::OnManualSubmit) ;
ipmodel->setSort(2,Qt::AscendingOrder);
if(partNumber > " ") ipmodel->setFilter(QString("partNumber = '%1'").arg(partNumber));
ipmodel->select();

iptableView = new QTableView;
iptableView->close();
iptableView->setModel(ipmodel);
iptableView->setColumnHidden(0,true);
iptableView->setColumnHidden(1,true);
iptableView->show();
}

Please help.