Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: doromones от Октябрь 13, 2010, 15:29



Название: qmdiarea и Vertically/Horizontally tile()
Отправлено: doromones от Октябрь 13, 2010, 15:29
вообщем появилось у меня желание сделать горизонтальную и вертикальную группировку окошек
попытался делать по етому принципу http://doc.trolltech.com/qq/qq08-mdi-layouts.html
но не получилось, помогите разобраться  :)


Название: Re: qmdiarea и Vertically/Horizontally tile()
Отправлено: Kolobok от Октябрь 13, 2010, 15:52
вообщем появилось у меня желание программировать, но не получилось, помогите разобраться


Скоро и такое появится.


Название: Re: qmdiarea и Vertically/Horizontally tile()
Отправлено: doromones от Октябрь 13, 2010, 17:04
история из цикла сам дурак, не досмотрел =)
сделал

Код
C++ (Qt)
void MainWindow::on_actionTileVertically_triggered()
{
   QList<QMdiSubWindow *> subwindowlist = ui->mdiArea->subWindowList();
       if (subwindowlist.count() < 2) {
           ui->mdiArea->tileSubWindows();
           return;
       }
       int wWidth = width() / subwindowlist.count();
       int x = 0;
       foreach (QMdiSubWindow *pSubWindow, subwindowlist)
       {
           pSubWindow->resize(wWidth, height());
           pSubWindow->move(x, 0);
           x += wWidth;
       }
}
 
void MainWindow::on_actionTileHorizontally_triggered()
{
   QList<QMdiSubWindow *> subwindowlist = ui->mdiArea->subWindowList();
       if (subwindowlist.count() < 2) {
           ui->mdiArea->tileSubWindows();
           return;
       }
       int wHeight = height() / subwindowlist.count();
       int y = 0;
       foreach (QMdiSubWindow *pSubWindow, subwindowlist)
       {
           pSubWindow->resize(width(), wHeight);
           pSubWindow->move(0, y);
           y += wHeight;
       }
}