crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> [решено]передача данных между модулями
_Vitaliy_
  опции профиля:
сообщение 9.11.2009, 15:34
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 59
Регистрация: 20.11.2008
Пользователь №: 428

Спасибо сказали: 3 раз(а)




Репутация:   0  


Доброго времени суток уважаемое комьюнити.
вопрос для "продвинутых" просто ламерский :blink: но я пока ломаю об него копья (ибо только учусь)...


Есть модуль (мainwindow.срр), в конструкторе создаю новый виджет-таблица (выделен жирным в коде)


MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent), ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    createActions();
    createMenus();
    createToolBars();

    loadSettings();

  
        [b]dialog=new QDialog(this);
        table=new QTableWidget(dialog);[/b]
        ...        
}



Создал новый модуль obrabotka (obrabotka.cpp):

obrabotka::obrabotka(QWidget *parent) :
    QDialog(parent),
    m_ui(new Ui::obrabotka)
{
    m_ui->setupUi(this);
    
  
    double X1[50];
    int Size,i;


      for (i=2260; i<2300; i++)
    {
        X1[i] =  ???
    }
...


Т.е. я хочу в этот модуль считать данные из TableWidget(dialog) маин-окна, как это правильно сделать.

Сообщение отредактировал _Vitaliy_ - 14.11.2009, 20:51
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
_Vitaliy_
  опции профиля:
сообщение 14.11.2009, 21:06
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 59
Регистрация: 20.11.2008
Пользователь №: 428

Спасибо сказали: 3 раз(а)




Репутация:   0  


Отвечу сам себе <_< , благо есть добрые люди, которые оказали неоценимую помощь, благодаря которой освоил (немного) QStandardItemModel.

Итак:
кусок инициализации в главном окне:
MainWindow::MainWindow(QWidget *parent)
        : QMainWindow(parent)
{
        ...
    model = new QStandardItemModel(this);
        ...
}


функция, отвечающая за открытие окна с данными:
void MainWindow::flyFile()
{
    QDialog *dialog = new QDialog(this);
        ...
    QTableView *view = new QTableView(dialog);
    view->setModel(model);
        ...
}


в этой функции создается новое окно для обработки:
void MainWindow::viewObrabotka()
{
    obrabotka *pobrabotka = new obrabotka(this);
    pobrabotka->setModel(model);
        ...    
}


а теперь непосредственно второй модуль, в котором происходит обработка:

void obrabotka::setModel(QStandardItemModel *model)
{
    m_model = model;

        ...  
    for (int i = 0; i < m_model->rowCount(); i++) {
                x1.append(m_model->item(i, 0)->text().toDouble());
                ...                        
    }
   ...
}


и проблема решена...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.12.2024, 21:37