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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: ui forms mdi голову сломал.  (Прочитано 1588 раз)
danquimby
Гость
« : Декабрь 19, 2011, 16:19 »

Добрый вечер , у меня такая проблема .
хочу сделать mdi sub window не просто QTextEdit а ui формы , через подгрузку QUiLoader

есть пример с mdi sub window
Код:
class MdiChild : public QTextEdit
в общем все хорошо и поиск он тоже все понятно делает по открытым subwindows
Код:
foreach (QMdiSubWindow *window, mdiArea->subWindowList()) {
        MdiChild *mdiChild = qobject_cast<MdiChild *>(window->widget());
        if (mdiChild->currentFile() == canonicalFilePath)
            return window;
    }

вопрос.

у меня есть интерфейс
Код:
class IMditable : public QWidget
{
Q_OBJECT
public:
IMditable(QWidget* parent ) : QWidget(parent) {}
}
и есть класс реализации

class QDialogMdiLogin : public IMditable
{
Q_OBJECT
public:
QDialogMdiLogin(QWidget* parent);

}


Код:
                QWidget* _uiform = loadUiFrom(QString("forms/dloginform.ui"));
QDialogMdiLogin* val= new QDialogMdiLogin(_uiform);
                QMdiSubWindow* win = mdiArea->addSubWindow(val);
                win->show();
реализация такая, загружаю ui форму , внутри класса ее инициализирую.
QDialogMdiLogin::QWidget получает форму отображения

и при запуске, форма не видеться , пустой виджет, НО если я делаю mdiArea->addSubWindow(val->parentWidget());
то все заработало, но положение это не поправляет, так как я в addSubWindow запихиваю не интерфейс
а просто виджет, то и найти его в списке subWindowList не возможно, отделить от других.

Как возможно это победить ? ведь QDialogMdiLogin наследник от QWidget не могу понять Грустный


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


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