rdjenner
13th August 2010, 23:36
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::on_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.
itemmaintenance.cpp
void ItemMaintenance::on_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.