Текст, введённый в окне, пытаюсь поместить в переменную word
#include <QtGui>
QString word;
class My_widg: public QWidget // главное окно
{
Q_OBJECT
public:
My_widg(QWidget *parent=0);
public slots:
void input_word();
};
My_widg::My_widg(QWidget *parent)
:QWidget(parent)
{
QPushButton *but = new QPushButton("Open", this);
QObject::connect(but, SIGNAL(clicked()), SLOT(input_word()));
QLabel *lab = new QLabel(this);
lab->setText(word);
lab->setGeometry(2, 20, 30, 30);
}
class QLineEdit;
class Input_word: public QDialog // здесь я пытаюсь ввести значение
{ // чёртовой переменной word
Q_OBJECT
public:
Input_word(QWidget *pwgt=0);
public:
QLineEdit *txt;
};
Input_word::Input_word(QWidget *pwgt)
:QDialog(pwgt)
{
txt = new QLineEdit(this);
QPushButton *but_ok = new QPushButton("Ok", this);
QObject::connect(but_ok, SIGNAL(clicked()), SLOT(accept()));
but_ok->setGeometry(2, 20, 30, 30);
QPushButton *but_cancel = new QPushButton("Cancel", this);
QObject::connect(but_cancel, SIGNAL(clicked()), SLOT(reject()));
but_cancel->setGeometry(34, 20, 50, 30);
}
void My_widg::input_word()
{
Input_word *input_w = new Input_word;
if (input_w->exec()==QDialog::Accepted)
{
word = input_w->txt->text();
}
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
My_widg w;
w.show();
return app.exec();
}
#include "main.moc"