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

📄 qcolumnviewgrip.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.******************************************************************************/#ifndef QT_NO_QCOLUMNVIEW#include "qcolumnviewgrip_p.h"#include <qstyleoption.h>#include <qpainter.h>#include <qbrush.h>#include <qevent.h>#include <qdebug.h>/*    \internal    class QColumnViewGrip    QColumnViewGrip is created to go inside QAbstractScrollArea's corner.    When the mouse it moved it will resize the scroll area and emit's a signal. *//*    \internal    \fn void QColumnViewGrip::gripMoved()    Signal that is emitted when the grip moves the parent widget. *//*!    Creates a new QColumnViewGrip with the given \a parent to view a model.    Use setModel() to set the model.*/QColumnViewGrip::QColumnViewGrip(QWidget *parent):  QWidget(*new QColumnViewGripPrivate, parent, 0){#ifndef QT_NO_CURSOR    setCursor(Qt::SplitHCursor);#endif}/*!  \internal*/QColumnViewGrip::QColumnViewGrip(QColumnViewGripPrivate & dd, QWidget *parent, Qt::WFlags f):  QWidget(dd, parent, f){}/*!  Destroys the view.*/QColumnViewGrip::~QColumnViewGrip(){}/*!    Attempt to resize the parent object by \a offset    returns the amount of offset that it was actually able to resized*/int QColumnViewGrip::moveGrip(int offset){    QWidget *parentWidget = (QWidget*)parent();    // first resize the parent    int oldWidth = parentWidget->width();    int newWidth = oldWidth;    if (isRightToLeft())       newWidth -= offset;    else       newWidth += offset;    newWidth = qMax(parentWidget->minimumWidth(), newWidth);    parentWidget->resize(newWidth, parentWidget->height());    // Then have the view move the widget    int realOffset = parentWidget->width() - oldWidth;    int oldX = parentWidget->x();    if (realOffset != 0)        emit gripMoved(realOffset);    if (isRightToLeft())        realOffset = -1 * (oldX - parentWidget->x());    return realOffset;}/*!    \reimp*/void QColumnViewGrip::paintEvent(QPaintEvent *event){    QPainter painter(this);    QStyleOption opt;    opt.initFrom(this);    style()->drawControl(QStyle::CE_ColumnViewGrip, &opt, &painter, this);    event->accept();}/*!    \reimp    Resize the parent window to the sizeHint*/void QColumnViewGrip::mouseDoubleClickEvent(QMouseEvent *event){    Q_UNUSED(event);    QWidget *parentWidget = (QWidget*)parent();    int offset = parentWidget->sizeHint().width() - parentWidget->width();    if (isRightToLeft())        offset *= -1;    moveGrip(offset);    event->accept();}/*!    \reimp    Begin watching for mouse movements*/void QColumnViewGrip::mousePressEvent(QMouseEvent *event){    Q_D(QColumnViewGrip);    d->originalXLocation = event->globalX();    event->accept();}/*!    \reimp    Calculate the movement of the grip and moveGrip() and emit gripMoved*/void QColumnViewGrip::mouseMoveEvent(QMouseEvent *event){    Q_D(QColumnViewGrip);    int offset = event->globalX() - d->originalXLocation;    d->originalXLocation = moveGrip(offset) + d->originalXLocation;    event->accept();}/*!    \reimp    Stop watching for mouse movements*/void QColumnViewGrip::mouseReleaseEvent(QMouseEvent *event){    Q_D(QColumnViewGrip);    d->originalXLocation = -1;    event->accept();}/* * private object implementation */QColumnViewGripPrivate::QColumnViewGripPrivate():  QWidgetPrivate(),originalXLocation(-1){}#endif // QT_NO_QCOLUMNVIEW

⌨️ 快捷键说明

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