Название: Как в MDI окне сделать панель с отображением октрытых окон.
Отправлено: maks от Март 25, 2009, 15:50
Добрый день. У мнея такой вопрос. Надо в MDI окне сделать панеь рядом со статус баром в которой отображались бы название окон которые в данный момент открыты в в MDI окне. Названия эти должны быть кликабельны для перехода на выбранное окно. Как такое сделать? В какую сторону копать?
Название: Re: Как в MDI окне сделать панель с отображением октрытых окон.
Отправлено: miha-ha от Март 25, 2009, 16:05
void MainWindow::updateWindowMenu() { windowMenu->clear(); windowMenu->addAction(closeAct); windowMenu->addAction(closeAllAct); windowMenu->addSeparator(); windowMenu->addAction(tileAct); windowMenu->addAction(cascadeAct); windowMenu->addSeparator(); windowMenu->addAction(nextAct); windowMenu->addAction(previousAct); windowMenu->addAction(separatorAct);
QList<QMdiSubWindow *> windows = mdiArea->subWindowList(); separatorAct->setVisible(!windows.isEmpty());
for (int i = 0; i < windows.size(); ++i) { MdiChild *child = qobject_cast<MdiChild *>(windows.at(i)->widget());
QString text; if (i < 9) { text = tr("&%1 %2").arg(i + 1) .arg(child->userFriendlyCurrentFile()); } else { text = tr("%1 %2").arg(i + 1) .arg(child->userFriendlyCurrentFile()); } QAction *action = windowMenu->addAction(text); action->setCheckable(true); action ->setChecked(child == activeMdiChild()); connect(action, SIGNAL(triggered()), windowMapper, SLOT(map())); windowMapper->setMapping(action, windows.at(i)); } }
а вообще копать в сторону документации QT :)
Название: Re: Как в MDI окне сделать панель с отображением октрытых окон.
Отправлено: spirit от Март 25, 2009, 16:13
есть реализация в Qt Solutions, называется Window Menu. см. тут (http://www.prog.org.ru/topic_8863_0.html).
|