Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: NetWorm от Ноябрь 08, 2012, 12:59



Название: глобальный QMdiArea
Отправлено: NetWorm от Ноябрь 08, 2012, 12:59
Суть такая. Есть MdiArea на главной форме... Мне необходимо чтобы все формы были дочерними... например дочернее окно открыто, я из дочернего мог открыть еще одно дочернее окно..
Вот как мне QMdiArea сделать глобальным?


Название: Re: глобальный QMdiArea
Отправлено: slava_d200 от Ноябрь 08, 2012, 13:03
я создавал глобальную переменную класса основной формы там где лажит QMdiArea
а далее с этой переменной обращался к QMdiArea и уже туда ложил и оттуда все забирал что надо


Название: Re: глобальный QMdiArea
Отправлено: NetWorm от Ноябрь 08, 2012, 13:07
А можно примерчик!!! Я что-то с таким методом запутался!!!


Название: Re: глобальный QMdiArea
Отправлено: slava_d200 от Ноябрь 08, 2012, 13:14
основное окно:
#include "global_office.h" - ссылка на глобальную переменную.

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent)
{
    MW = this; //Глобальная ссылка на центральное окно
}

MW - это как раз и есть глобалальная переменная

это файл: global_office.h
=========================
#ifndef GLOBAL_OFFICE_H
#define GLOBAL_OFFICE_H
#include "mainwindow.h"

extern MainWindow * MW;

#endif // GLOBAL_OFFICE_H

это файл: global_office.сpp
========================
#include "global_office.h"

MainWindow * MW;


а далее в той форме которая должна работать с глобальной переменной я просто вставляю:
#include "global_office.h"

и MW мне доступна для работы.

так же за место самой ссылки на основной класс можно ввести ссылку на QMdiArea


Название: Re: глобальный QMdiArea
Отправлено: NetWorm от Ноябрь 08, 2012, 13:28
Благодарю за помощь.. Я примерно так и стремился сделать, но что-то заблудился в глобальных переменных...