⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qdesktopwidget_qws.cpp

📁 奇趣公司比较新的qt/emd版本
💻 CPP
字号:
/******************************************************************************** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.**** This file is part of the QtGui module of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://trolltech.com/products/qt/licenses/licensing/opensource/**** If you are unsure which license is appropriate for your use, please** review the following information:** http://trolltech.com/products/qt/licenses/licensing/licensingoverview** or contact the sales department at sales@trolltech.com.**** In addition, as a special exception, Trolltech gives you certain** additional rights. These rights are described in the Trolltech GPL** Exception version 1.0, which can be found at** http://www.trolltech.com/products/qt/gplexception/ and in the file** GPL_EXCEPTION.txt in this package.**** In addition, as a special exception, Trolltech, as the sole copyright** holder for Qt Designer, grants users of the Qt/Eclipse Integration** plug-in the right for the Qt/Eclipse Integration to link to** functionality provided by Qt Designer and its related libraries.**** Trolltech reserves all rights not expressly granted herein.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#include "qdesktopwidget.h"#include "qscreen_qws.h"#include "private/qapplication_p.h"QDesktopWidget::QDesktopWidget()    : QWidget(0, Qt::Desktop){    setObjectName(QLatin1String("desktop"));}QDesktopWidget::~QDesktopWidget(){}bool QDesktopWidget::isVirtualDesktop() const{    return true;}int QDesktopWidget::primaryScreen() const{    return 0;}int QDesktopWidget::numScreens() const{    QScreen *screen = QScreen::instance();    if (!screen)        return 0;    const QList<QScreen*> subScreens = screen->subScreens();    return qMax(subScreens.size(), 1);}QWidget *QDesktopWidget::screen(int){    return this;}const QRect QDesktopWidget::availableGeometry(int screenNo) const{    const QScreen *screen = QScreen::instance();    if (screenNo == -1)        screenNo = 0;    if (!screen || screenNo < 0)        return QRect();    const QList<QScreen*> subScreens = screen->subScreens();    if (!subScreens.isEmpty()) {        if (screenNo >= subScreens.size())            return QRect();        screen = subScreens.at(screenNo);    }    QApplicationPrivate *ap = QApplicationPrivate::instance();    const QRect r = ap->maxWindowRect(screen);    if (!r.isEmpty())        return r;    return screen->region().boundingRect();}const QRect QDesktopWidget::screenGeometry(int screenNo) const{    const QScreen *screen = QScreen::instance();    if (screenNo == -1)        screenNo = 0;    if (!screen || screenNo < 0)        return QRect();    const QList<QScreen*> subScreens = screen->subScreens();    if (subScreens.size() == 0 && screenNo == 0)        return screen->region().boundingRect();    if (screenNo >= subScreens.size())        return QRect();    return subScreens.at(screenNo)->region().boundingRect();}int QDesktopWidget::screenNumber(const QWidget *w) const{    if (!w)        return 0;    QRect frame = w->frameGeometry();    if (!w->isWindow())        frame.moveTopLeft(w->mapToGlobal(QPoint(0, 0)));    const QPoint midpoint = (frame.topLeft() + frame.bottomRight()) / 2;    return screenNumber(midpoint);}int QDesktopWidget::screenNumber(const QPoint &p) const{    const QScreen *screen = QScreen::instance();    if (!screen || !screen->region().contains(p))        return -1;    const QList<QScreen*> subScreens = screen->subScreens();    if (subScreens.size() == 0)        return 0;    for (int i = 0; i < subScreens.size(); ++i)        if (subScreens.at(i)->region().contains(p))            return i;    return -1;}void QDesktopWidget::resizeEvent(QResizeEvent *){}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -