Добрый день!
Программа работает с базой данных и отображает текущее состояние БД
Сделано стандартно по примеру QT - считывание с БД происходит в конструкторе
теперь я пытаюсь переопределить метод show но ничего не выводится
вот код. Нужно сделать так чтобы каждый раз при вызове диалога программа считывала с БД и создавала список.
class EditExForm : public QWidget
{
Q_OBJECT
public:
EditExForm(QWidget *parent = 0);
void set_dialog_create(QWidget *dialog_in){dialog_create=dialog_in;}
void set_dialog_edit(EditForm *dialog_in){dialog_edit=dialog_in;}
void set_dialog_db(QWidget *dialog_in){dialog_db=dialog_in;}
protected:
virtual void show(void);
private slots:
void on_IDCREATE();
void on_IDREMOVE();
void on_IDEDIT();
void on_IDCANCEL();
void on_IDC_LIST1();
private:
QPushButton *ui_IDCREATE;
QPushButton *ui_IDREMOVE;
QPushButton *ui_IDEDIT;
QPushButton *ui_IDCANCEL;
QListWidget *ui_IDC_LIST1;
QTextEdit *ui_IDC_EDIT1;
QWidget *dialog_db;
EditForm *dialog_edit;
QWidget *dialog_create;
QLabel *ui_label1;
QGroupBox *ui_label2;
};
EditExForm::EditExForm(QWidget *parent)
:QWidget(parent)
{
QUiLoader loader;
QFile file("widgeteditex.ui");
file.open(QFile::ReadOnly);
QWidget *formWidget = loader.load(&file, this);
file.close();
ui_IDREMOVE = qFindChild<QPushButton*>(this, "IDREMOVE");
ui_IDCANCEL = qFindChild<QPushButton*>(this, "IDCANCEL");
ui_IDC_LIST1=qFindChild<QListWidget*>(this,"IDC_LIST1");
ui_IDC_EDIT1=qFindChild<QTextEdit*>(this,"IDC_EDIT1");
ui_IDCREATE = qFindChild<QPushButton*>(this, "IDCREATE");
ui_IDEDIT = qFindChild<QPushButton*>(this, "IDEDIT");
ui_label1=qFindChild<QLabel*>(this, "IDC_STATIC1");
ui_label2=qFindChild<QGroupBox*>(this, "IDC_STATIC2");
ui_label1->setText(message[56]);
ui_label2->setTitle(message[57]);
ui_IDREMOVE->setText(message[59]);
ui_IDCANCEL->setText(message[61]);
ui_IDCREATE->setText(message[58]);
ui_IDEDIT->setText(message[60]);
connect(ui_IDREMOVE, SIGNAL(clicked()), this, SLOT(on_IDREMOVE()));
connect(ui_IDCANCEL, SIGNAL(clicked()), this, SLOT(on_IDCANCEL()));
connect(ui_IDEDIT, SIGNAL(clicked()), this, SLOT(on_IDEDIT()));
connect(ui_IDCREATE, SIGNAL(clicked()), this, SLOT(on_IDCREATE()));
connect(ui_IDC_LIST1, SIGNAL(itemSelectionChanged()), this, SLOT(on_IDC_LIST1()));
}
void EditExForm::show(void)
{
QSqlQuery query6;
query6.exec("SELECT ex_name,ex_name_desc,ex_id FROM exercizes ORDER BY ex_id");
static bool flag=false;
if ( query6.isActive() )
{
while ( query6.next() )
{
QString name = query6.value(0).toString();
QString name2 = query6.value(1).toString();
QListWidgetItem *newItem = new QListWidgetItem;
newItem->setText(name);
ui_IDC_LIST1->addItem(newItem);
if (!flag)
{
flag=true;
ui_IDC_EDIT1->setText(name2);
}
}
}
}