Название: [Решено]Передать значение переменной из одной формы в другую
Отправлено: Blue_a_p от Август 25, 2012, 17:45
Собственно пробовал так не получается Bds *frm = new Bds(); frm->iddo= id; frm->show(); подскажите или ссылку умную дайте хотя бы!
Название: Re: Передать значение переменной из одной формы в другую
Отправлено: Serr500 от Август 25, 2012, 18:25
Что значит "Не получается"? Должно работать.
Название: Re: Передать значение переменной из одной формы в другую
Отправлено: Blue_a_p от Август 25, 2012, 18:48
Для функций работает а для переменных нет ??? Вот это работает frm->setWindowTitle(QString::fromLocal8Bit("Имя"));
Название: Re: Передать значение переменной из одной формы в другую
Отправлено: kambala от Август 25, 2012, 19:48
приведи минимальный компилируемый код который работает не так как надо
Название: Re: Передать значение переменной из одной формы в другую
Отправлено: andrew.k от Август 25, 2012, 20:03
уже обсуждалось 100500 раз. http://www.prog.org.ru/index.php?topic=18028 http://www.prog.org.ru/index.php?topic=18376 http://www.prog.org.ru/index.php?topic=17583
Это не говоря уже о том, что нужно пользоваться поиском и в любой книге с этого начинают >:(
Название: Re: Передать значение переменной из одной формы в другую
Отправлено: Blue_a_p от Август 26, 2012, 19:22
приведи минимальный компилируемый код который работает не так как надо
Ну вот набросал програмку для примера #ifndef MAINWINDOK_H #define MAINWINDOK_H
#include <QMainWindow>
#include "mainwindow.h" namespace Ui { class MainWindok; }
class MainWindok : public QMainWindow { Q_OBJECT public: explicit MainWindok(QWidget *parent = 0); ~MainWindok(); QString dj; private: Ui::MainWindok *ui; };
#endif // MAINWINDOK_H #ifndef MAINWINDOW_H #define MAINWINDOW_H
#include <QMainWindow>
namespace Ui { class MainWindow; }
class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); QString dj; private: Ui::MainWindow *ui; public slots: void Myg(); };
#endif // MAINWINDOW_H #include "mainwindok.h" #include "ui_mainwindok.h"
MainWindok::MainWindok(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindok) { ui->setupUi(this); ui->textEdit->setText(dj); //В теории в Text edit должно записаться значение переменной dj, c text edit это для примера, на практике требуется проверять значение переменной и выполнять некоторые действия! }
MainWindok::~MainWindok() { delete ui; }
#include "mainwindow.h" #include "ui_mainwindow.h" #include "mainwindok.h"
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); QObject::connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(Myg())); }
void MainWindow::Myg() { MainWindok *fmr = new MainWindok(0); fmr->dj = "dirol"; fmr->show(); }
MainWindow::~MainWindow() { delete ui; } Это не говоря уже о том, что нужно пользоваться поиском и в любой книге с этого начинают >:(
Поиском пользовался нашел как устроить взаимодействие между объектами разных, а как просто передать значение переменной из одной формы в другую?
Название: Re: Передать значение переменной из одной формы в другую
Отправлено: andrew.k от Август 26, 2012, 20:00
Поиском пользовался нашел как устроить взаимодействие между объектами разных, а как просто передать значение переменной из одной формы в другую?
Все три темы по ссылкам выше по твоей проблеме. И там уже описано, как ее решить. Ты бы хотя бы на их название посмотрел.
Название: Re: Передать значение переменной из одной формы в другую
Отправлено: Serr500 от Август 26, 2012, 20:02
class MainWindok : public QMainWindow { private : QString m_dj; public : explicit MainWindok(const QString& dj, QWidget *parent = NULL); QString dj() const { return m_dj; } void setDj(const QString& dj); }
MainWindok::MainWindok(const QString& dj, QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindok) { ui->setupUi(this); ui->textEdit->setText(m_dj); }
void MainWindok::setDj(const QString& dj) { m_dj = dj; ui->textEdit->setText(m_dj); }
P.S. Почитайте книжку по основам C++.
Название: Re: Передать значение переменной из одной формы в другую
Отправлено: Blue_a_p от Август 27, 2012, 11:15
Спасибо Serr500за помощь + помогла ссылка http://forum.vingrad.ru/forum/topic-318651.html Конечное: mainwindok.h
class MainWindok : public QMainWindow { Q_OBJECT private: Ui::MainWindok *ui; QString m_dj; public: explicit MainWindok(QWidget *parent = NULL); ~MainWindok(); QString dj() const { return m_dj; } void setDj(const QString& dj);
};
mainwindok.cpp
MainWindok::MainWindok(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindok) { ui->setupUi(this); }
void MainWindok::setDj(const QString& dj) { m_dj = dj; ui->textEdit->setText(m_dj); }
mainwindow.cpp
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); QObject::connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(Myg())); }
void MainWindow::Myg() { MainWindok *fmr = new MainWindok(0); QString t ="dsjfsdjl"; fmr->setDj(t); fmr->show(); }
|