Russian Qt Forum
Сентябрь 30, 2024, 20:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Решено]Передать значение переменной из одной формы в другую  (Прочитано 8559 раз)
Blue_a_p
Гость
« : Август 25, 2012, 17:45 »

Собственно пробовал так не получается
Код:
    Bds *frm = new Bds();
    frm->iddo= id;
    frm->show();
подскажите или ссылку умную дайте хотя бы!  
« Последнее редактирование: Август 27, 2012, 11:46 от Blue_a_p » Записан
Serr500
Гость
« Ответ #1 : Август 25, 2012, 18:25 »

Что значит "Не получается"? Должно работать.
Записан
Blue_a_p
Гость
« Ответ #2 : Август 25, 2012, 18:48 »

Для функций работает а для переменных нет  Непонимающий
Вот это работает
Цитировать
frm->setWindowTitle(QString::fromLocal8Bit("Имя"));
« Последнее редактирование: Август 25, 2012, 18:52 от Blue_a_p » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #3 : Август 25, 2012, 19:48 »

приведи минимальный компилируемый код который работает не так как надо
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
andrew.k
Гость
« Ответ #4 : Август 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

Это не говоря уже о том, что нужно пользоваться поиском и в любой книге с этого начинают  Злой
Записан
Blue_a_p
Гость
« Ответ #5 : Август 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;
}

Это не говоря уже о том, что нужно пользоваться поиском и в любой книге с этого начинают  Злой
Поиском пользовался нашел как устроить взаимодействие между объектами разных, а как просто передать значение переменной из одной формы в другую?
« Последнее редактирование: Август 26, 2012, 19:29 от Blue_a_p » Записан
andrew.k
Гость
« Ответ #6 : Август 26, 2012, 20:00 »

Поиском пользовался нашел как устроить взаимодействие между объектами разных, а как просто передать значение переменной из одной формы в другую?
Все три темы по ссылкам выше по твоей проблеме. И там уже описано, как ее решить.
Ты бы хотя бы на их название посмотрел.
« Последнее редактирование: Август 26, 2012, 20:04 от andrew.k » Записан
Serr500
Гость
« Ответ #7 : Август 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++.
Записан
Blue_a_p
Гость
« Ответ #8 : Август 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();
}

Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 23.