crossplatform.ru

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


  Ответ в QMdiArea и его subwindows
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
DaniMinch Дата 20.4.2014, 13:06
 
Цитата(Алексей1153 @ 19.4.2014, 16:56) *
а так

pw->setWindowFlags(Qt::SubWindow)

Ах да, я забыл стереть эту строку. Это я так, сам пытался найти решение. Как раз все проблемы из-за того, что у окна есть флаг subwindow и это изменяет стиль отображения и убирает панельку из таскбара. А с размером я почти все решил установив в окне pw layout'ы.
Алексей1153 Дата 19.4.2014, 16:56
  а так

pw->setWindowFlags(Qt::SubWindow)
DaniMinch Дата 19.4.2014, 10:53
  Решил попробовать сделать MDI-приложение на Qt. практически сразу же столкнулся с некоторыми трудностями, решить которые, вероятно, не в состоянии. Пока что пытаюсь просто вставить окно ProjectWindow с таблицой при нажатии на кнопку в меню главного окна.
1) Появляющиеся окна маленького размера. Само по себе окно должно быть размером 470х490, но размер субокна внутри QMdiArea 220х64. 220х64 - это размер sizeHint, как для объекта окна, так и для появляющегося субокна, но как изменить его, мне неизвестно. Вопрос именно в изменении "дефолтного" размера субокна, так как не думаю что изменять размеры всех окон после применения каждого cascadeSubWindows() - это оптимальный вариант.
2) Было бы очень важно узнать, есть ли возможность сделать вкладки от каждого из субокон в панели задач.
3) Можно ли как-то изменить вид шапки окна, так как для стиля "windowsvista" подокно выглядит печально. Если бы можно было бы сделать оформление, как для главного окна, не создавая собственные titlebar было бы очень удобно.
Код вызова окна на всякий случай прилагается:
ProjectWindow *pw=new ProjectWindow(this);
    ui->mdiArea->addSubWindow(pw);
    pw->setWindowFlags(Qt::Window);
    ++windowCount;
    pw->show();
    ui->mdiArea->subWindowList().last()->resize(QSize(490,470));
    //ui->mdiArea->cascadeSubWindows();
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.4.2024, 18:22