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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: глобальный QMdiArea  (Прочитано 3088 раз)
NetWorm
Гость
« : Ноябрь 08, 2012, 12:59 »

Суть такая. Есть MdiArea на главной форме... Мне необходимо чтобы все формы были дочерними... например дочернее окно открыто, я из дочернего мог открыть еще одно дочернее окно..
Вот как мне QMdiArea сделать глобальным?
Записан
slava_d200
Гость
« Ответ #1 : Ноябрь 08, 2012, 13:03 »

я создавал глобальную переменную класса основной формы там где лажит QMdiArea
а далее с этой переменной обращался к QMdiArea и уже туда ложил и оттуда все забирал что надо
Записан
NetWorm
Гость
« Ответ #2 : Ноябрь 08, 2012, 13:07 »

А можно примерчик!!! Я что-то с таким методом запутался!!!
Записан
slava_d200
Гость
« Ответ #3 : Ноябрь 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
Записан
NetWorm
Гость
« Ответ #4 : Ноябрь 08, 2012, 13:28 »

Благодарю за помощь.. Я примерно так и стремился сделать, но что-то заблудился в глобальных переменных...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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