本文整理汇总了C++中QMdiArea::setActiveSubWindow方法的典型用法代码示例。如果您正苦于以下问题:C++ QMdiArea::setActiveSubWindow方法的具体用法?C++ QMdiArea::setActiveSubWindow怎么用?C++ QMdiArea::setActiveSubWindow使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QMdiArea
的用法示例。
在下文中一共展示了QMdiArea::setActiveSubWindow方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
static PyObject *
openBrowserHTML(PyObject *self, PyObject *args)
{
const char* HtmlCode;
const char* BaseUrl;
const char* TabName = "Browser";
if (! PyArg_ParseTuple(args, "ss|s",&HtmlCode,&BaseUrl,&TabName))
return NULL;
PY_TRY {
QMdiSubWindow* browserView = 0;
QMdiArea* mdiArea = Gui::getMainWindow()->findChild<QMdiArea*>();
QList<QMdiSubWindow *> mdiViews = mdiArea->subWindowList();
for (QList<QMdiSubWindow *>::iterator it = mdiViews.begin(); it != mdiViews.end(); ++it) {
if (qobject_cast<WebGui::BrowserView*>((*it)->widget())) {
browserView = *it;
break;
}
}
if (!browserView) {
WebGui::BrowserView* pcBrowserView = 0;
pcBrowserView = new WebGui::BrowserView(Gui::getMainWindow());
pcBrowserView->resize(400, 300);
pcBrowserView->setHtml(QString::fromUtf8(HtmlCode),QUrl(QString::fromLatin1(BaseUrl)),QString::fromUtf8(TabName));
Gui::getMainWindow()->addWindow(pcBrowserView);
}
else {
mdiArea->setActiveSubWindow(browserView);
}
} PY_CATCH;
Py_Return;
}
示例2: closeEvent
void RMdiChildQt::closeEvent(QCloseEvent* closeEvent) {
// ask before closing (document was modified):
if (documentInterface != NULL) {
emit closeRequested(this);
}
else {
closeEvent->accept();
return;
}
// close canceled:
if (!closeEventAccepted) {
closeEvent->ignore();
return;
}
if (documentInterface != NULL) {
if (diLast==documentInterface) {
diLast = NULL;
}
// 20130510: leads to empty layer list, etc when
// closing background tab
//RMainWindowQt::getMainWindow()->notifyListeners(true);
// make sure rulers don't try to access view anymore:
QList<RRulerQt*> rulers = findChildren<RRulerQt*>();
for (int i=0; i<rulers.size(); i++) {
rulers.at(i)->setGraphicsView(NULL);
}
// give current action a chance to clean up:
RAction* action = documentInterface->getCurrentAction();
if (action!=NULL) {
action->suspendEvent();
}
RDocumentInterface* di = documentInterface;
documentInterface=NULL;
delete di;
di = NULL;
}
closeEvent->accept();
#ifndef Q_OS_WIN32
// part of the workaround for QMdiArea bug
// with events filtering through all stacked windows:
QMdiArea* mdiArea = RMainWindowQt::getMainWindow()->getMdiArea();
QMdiSubWindow* child = mdiArea->currentSubWindow();
QList<QMdiSubWindow *> children = mdiArea->subWindowList(QMdiArea::ActivationHistoryOrder);
int index = children.indexOf(child);
int nextIndex = children.length()-2;
nextIndex = nextIndex%children.length();
if (nextIndex!=index) {
children.at(nextIndex)->showMaximized();
mdiArea->setActiveSubWindow(children.at(nextIndex));
}
#endif
}