本文整理汇总了C++中QWidgetList类的典型用法代码示例。如果您正苦于以下问题:C++ QWidgetList类的具体用法?C++ QWidgetList怎么用?C++ QWidgetList使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QWidgetList类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: widget
/*! \reimp */
int QAccessibleWidget::childAt(int x, int y) const
{
QWidget *w = widget();
if (!w->isVisible())
return -1;
QPoint gp = w->mapToGlobal(QPoint(0, 0));
if (!QRect(gp.x(), gp.y(), w->width(), w->height()).contains(x, y))
return -1;
QWidgetList list = childWidgets(w);
int ccount = childCount();
// a complex child
if (list.size() < ccount) {
for (int i = 1; i <= ccount; ++i) {
if (rect(i).contains(x, y))
return i;
}
return 0;
}
QPoint rp = w->mapFromGlobal(QPoint(x, y));
for (int i = 0; i<list.size(); ++i) {
QWidget *child = list.at(i);
if (!child->isWindow() && !child->isHidden() && child->geometry().contains(rp)) {
return i + 1;
}
}
return 0;
}
示例2: deleteWidgetList
void FormWindowBase::deleteWidgetList(const QWidgetList &widget_list)
{
switch (widget_list.size()) {
case 0:
break;
case 1: {
commandHistory()->beginMacro(tr("Delete '%1'").arg(widget_list.front()->objectName()));
emit widgetRemoved(widget_list.front());
DeleteWidgetCommand *cmd = new DeleteWidgetCommand(this);
cmd->init(widget_list.front());
commandHistory()->push(cmd);
commandHistory()->endMacro();
}
break;
default:
commandHistory()->beginMacro(tr("Delete"));
foreach (QWidget *w, widget_list) {
emit widgetRemoved(w);
DeleteWidgetCommand *cmd = new DeleteWidgetCommand(this);
cmd->init(w);
commandHistory()->push(cmd);
}
commandHistory()->endMacro();
break;
}
示例3: style
void pieDialog::updatePlot()
{
if (generalDialog->currentPage()==(QWidget *)pieOptions)
{
QPen pen=QPen(boxLineColor->color(),boxLineWidth->value(), style());
emit updatePie(pen, pattern(), boxRay->value(), boxFirstColor->currentItem());
}
if (generalDialog->currentPage()==(QWidget*)frame)
{
if (!boxAll->isChecked())
return;
QColor c = boxBackgroundColor->color();
QWidgetList* allPlots = mPlot->graphPtrs();
for (int i=0; i<(int)allPlots->count();i++)
{
Graph* g=(Graph*)allPlots->at(i);
if (g)
{
g->drawBorder(boxBorderWidth->value(), boxBorderColor->color());
g->changeMargin(boxMargin->value());
g->setBackgroundColor(c);
}
}
if (c == QColor(white) && mPlot->hasOverlapingLayers())
mPlot->updateTransparency();
}
}
示例4: undo
void InsertPageCommand::undo()
{
QWidget *page = m_form->objectTree()->lookup(m_name)->widget();
QWidget *parent = m_form->objectTree()->lookup(m_parentname)->widget();
QWidgetList list;
list.append(page);
KFormDesigner::Command *com = new KFormDesigner::DeleteWidgetCommand(*m_form, list);
QByteArray classname = parent->metaObject()->className();
if (classname == "KFDTabWidget") {
TabWidgetBase *tab = dynamic_cast<TabWidgetBase*>(parent);
tab->removeTab(tab->indexOf(page));
} else if (classname == "QStackedWidget" || /* compat */ classname == "QWidgetStack") {
QStackedWidget *stack = dynamic_cast<QStackedWidget*>(parent);
int index = stack->indexOf(page);
if (index > 0)
index--;
else if (index < (stack->count()-1))
index++;
else
index = -1;
if (index >= 0)
stack->setCurrentIndex(index);
stack->removeWidget(page);
}
com->execute();
delete com;
}
示例5: SLOT
void DiffAnalystWindow::onWindowsMenuAboutToShow()
{
m_pWindowsMenu->clear ();
int cascadeId = m_pWindowsMenu->insertItem ("&Cascade", this, SLOT (onCascade ()));
int tileId = m_pWindowsMenu->insertItem ("&Tile", this, SLOT (onTile ()));
int close_all_id = m_pWindowsMenu->insertItem ("Close Al&l", this, SLOT (onCloseAllWindows ()));
if (m_pWs->windowList ().isEmpty ())
{
m_pWindowsMenu->setItemEnabled (cascadeId, FALSE);
m_pWindowsMenu->setItemEnabled (tileId, FALSE);
m_pWindowsMenu->setItemEnabled (close_all_id, FALSE);
}
m_pWindowsMenu->insertSeparator ();
QWidgetList windows = m_pWs->windowList ();
for (int i = 0; i < int (windows.count ()); ++i)
{
int id = m_pWindowsMenu->insertItem (windows.at (i)->caption (),
this,
SLOT (onWindowsMenuActivated (int)));
m_pWindowsMenu->setItemParameter (id, i);
m_pWindowsMenu->setItemChecked (id,
m_pWs->activeWindow () == windows.at (i));
}
}
示例6: lamexp_broadcast
/*
* Broadcast event to all windows
*/
bool lamexp_broadcast(int eventType, bool onlyToVisible)
{
if(QApplication *app = dynamic_cast<QApplication*>(QApplication::instance()))
{
qDebug("Broadcasting %d", eventType);
bool allOk = true;
QEvent poEvent(static_cast<QEvent::Type>(eventType));
QWidgetList list = app->topLevelWidgets();
while(!list.isEmpty())
{
QWidget *widget = list.takeFirst();
if(!onlyToVisible || widget->isVisible())
{
if(!app->sendEvent(widget, &poEvent))
{
allOk = false;
}
}
}
qDebug("Broadcast %d done (%s)", eventType, (allOk ? "OK" : "Stopped"));
return allOk;
}
else
{
qWarning("Broadcast failed, could not get QApplication instance!");
return false;
}
}
示例7: DllCanUnloadNow
STDAPI DllCanUnloadNow()
{
if (GetCurrentThreadId() != qAxThreadId)
return S_FALSE;
if (qAxLockCount())
return S_FALSE;
if (!qax_ownQApp)
return S_OK;
// check if qApp still runs widgets (in other DLLs)
QWidgetList widgets = qApp->allWidgets();
int count = widgets.count();
for (int w = 0; w < widgets.count(); ++w) {
// remove all Qt generated widgets
QWidget *widget = widgets.at(w);
if (widget->windowType() == Qt::Desktop || widget->objectName() == QLatin1String("Qt internal tablet widget"))
count--;
}
if (count)
return S_FALSE;
// no widgets left - destroy qApp
if (qax_hhook)
UnhookWindowsHookEx(qax_hhook);
delete qApp;
qax_ownQApp = false;
// never allow unloading - safety net for Internet Explorer
return S_FALSE;
}
示例8: qtns_shutdown
extern "C" void qtns_shutdown()
{
if (clients.count() > 0) {
QMap<QtNPInstance *, QX11EmbedWidget *>::iterator it = clients.begin();
while (it != clients.end()) {
delete it.value();
++it;
}
clients.clear();
}
if (!ownsqapp)
return;
// check if qApp still runs widgets (in other DLLs)
QWidgetList widgets = qApp->allWidgets();
int count = widgets.count();
for (int w = 0; w < widgets.count(); ++w) {
// ignore all Qt generated widgets
QWidget *widget = widgets.at(w);
if (widget->windowFlags() & Qt::Desktop)
count--;
}
if (count) // qApp still used
return;
delete qApp;
ownsqapp = false;
}
示例9: SLOT
//**********************************************************************
void TulipApp::windowsMenuAboutToShow() {
windowsMenu->clear();
if(tabWidget->currentIndex()==-1)
return;
QWorkspace *currentWorkspace=controllerToWorkspace[tabIndexToController[tabWidget->currentIndex()]];
QAction* cascadeAction = windowsMenu->addAction("&Cascade", this, SLOT(cascade() ) );
QAction* tileAction = windowsMenu->addAction("&Tile", currentWorkspace, SLOT(tile() ) );
QAction* closeallAction = windowsMenu->addAction("Close All", this, SLOT(closeAll()));
if ( currentWorkspace->windowList().isEmpty() ) {
cascadeAction->setEnabled(false);
tileAction->setEnabled(false);
closeallAction->setEnabled(false);
}
else {
windowsMenu->addSeparator();
QWidgetList windows = currentWorkspace->windowList();
for ( int i = 0; i < int(windows.count()); ++i ) {
QAction* action = windowsMenu->addAction(windows.at(i)->windowTitle());
action->setChecked(currentWorkspace->activeWindow() == windows.at(i));
action->setData(QVariant(i));
}
}
}
示例10: removeAction
void WindowMenu::onAboutToShow()
{
QWidget* win = QApplication::activeWindow();
pMinimize_->setEnabled(win);
pZoom_->setEnabled(win && win->maximumSize() != win->minimumSize());
pBringAllToFront_->setEnabled(win);
for (int i = windows_.size() - 1; i >= 0; i--)
{
QAction* pAction = windows_[i];
removeAction(pAction);
windows_.removeAt(i);
pAction->deleteLater();
}
QWidgetList topLevels = QApplication::topLevelWidgets();
for (int i = 0; i < topLevels.size(); i++)
{
QWidget* pWindow = topLevels.at(i);
if (!pWindow->isVisible())
continue;
QAction* pAction = new QAction(pWindow->windowTitle(), pWindow);
pAction->setData(QVariant::fromValue(pWindow));
pAction->setCheckable(true);
if (pWindow->isActiveWindow())
pAction->setChecked(true);
insertAction(pWindowPlaceholder_, pAction);
connect(pAction, SIGNAL(triggered()),
this, SLOT(showWindow()));
windows_.append(pAction);
}
}
示例11: accessibleChildren
QWidgetList QAccessibleAbstractScrollArea::accessibleChildren() const
{
QWidgetList children;
// Viewport.
QWidget * viewport = abstractScrollArea()->viewport();
if (viewport)
children.append(viewport);
// Horizontal scrollBar container.
QScrollBar *horizontalScrollBar = abstractScrollArea()->horizontalScrollBar();
if (horizontalScrollBar && horizontalScrollBar->isVisible()) {
children.append(horizontalScrollBar->parentWidget());
}
// Vertical scrollBar container.
QScrollBar *verticalScrollBar = abstractScrollArea()->verticalScrollBar();
if (verticalScrollBar && verticalScrollBar->isVisible()) {
children.append(verticalScrollBar->parentWidget());
}
// CornerWidget.
QWidget *cornerWidget = abstractScrollArea()->cornerWidget();
if (cornerWidget && cornerWidget->isVisible())
children.append(cornerWidget);
return children;
}
示例12: Q_Q
void QWidgetPrivate::raise_sys()
{
Q_Q(QWidget);
//@@@ transaction
if (q->isWindow()) {
Q_ASSERT(q->testAttribute(Qt::WA_WState_Created));
QWidget::qwsDisplay()->setAltitude(q->internalWinId(),
QWSChangeAltitudeCommand::Raise);
// XXX: subsurfaces?
#ifdef QT_NO_WINDOWGROUPHINT
#else
QObjectList childObjects = q->children();
if (!childObjects.isEmpty()) {
QWidgetList toraise;
for (int i = 0; i < childObjects.size(); ++i) {
QObject *obj = childObjects.at(i);
if (obj->isWidgetType()) {
QWidget* w = static_cast<QWidget*>(obj);
if (w->isWindow())
toraise.append(w);
}
}
for (int i = 0; i < toraise.size(); ++i) {
QWidget *w = toraise.at(i);
if (w->isVisible())
w->raise();
}
}
#endif // QT_NO_WINDOWGROUPHINT
}
}
示例13: slotTriggered
void RemoveStackPageAction::slotTriggered()
{
if ( !KexiUtils::objectIsA(m_receiver, "QStackedWidget")
&& /* compat */ !KexiUtils::objectIsA(m_receiver, "QWidgetStack"))
{
return;
}
QStackedWidget *stack = qobject_cast<QStackedWidget*>(m_receiver);
QWidget *page = stack->currentWidget();
QWidgetList list;
list.append(page);
KFormDesigner::Command *com = new KFormDesigner::DeleteWidgetCommand(*m_container->form(), list);
// raise prev/next widget
int index = stack->indexOf(page);
if (index > 0) {
index--;
}
else if (index < (stack->count()-1)) {
index++;
}
else {
index = -1;
}
if (index >= 0) {
stack->setCurrentIndex(index);
}
stack->removeWidget(page);
m_container->form()->addCommand(com);
}
示例14: childWidgets
/*! \reimp */
int QAccessibleWidget::indexOfChild(const QAccessibleInterface *child) const
{
if (!child)
return -1;
QWidgetList cl = childWidgets(widget());
return cl.indexOf(qobject_cast<QWidget *>(child->object()));
}
示例15: findWidgetToWrap
QWidget * KvsObject_wrapper::findTopLevelWidgetToWrap(const QString &szClass,const QString &szName,bool bRecursive)
{
QWidgetList list = g_pApp->topLevelWidgets();
if(list.isEmpty())
return NULL;
Q_FOREACH(QWidget * w,list)
{
//qDebug("TLW: %s::%s (look for %s::%s)",w->metaObject()->className(),w->objectName().toUtf8().data(),szClass.toUtf8().data(),szName.toUtf8().data());
if(
(
szClass.isEmpty() ||
KviQString::equalCI(w->metaObject()->className(),szClass)
) && (
szName.isEmpty() ||
KviQString::equalCI(w->objectName(),szName)
)
)
return w;
}
if(bRecursive)
{
Q_FOREACH(QWidget * w,list)
{
w = findWidgetToWrap(szClass,szName,w,bRecursive);
if(w)
return w;
}
}