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

📄 qabstractitemview.h

📁 奇趣公司比较新的qt/emd版本
💻 H
字号:
/******************************************************************************** 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 QABSTRACTITEMVIEW_H#define QABSTRACTITEMVIEW_H#include <QtGui/qabstractscrollarea.h>#include <QtCore/qabstractitemmodel.h>#include <QtGui/qitemselectionmodel.h>#include <QtGui/qabstractitemdelegate.h>QT_BEGIN_HEADERQT_MODULE(Gui)#ifndef QT_NO_ITEMVIEWSclass QMenu;class QDrag;class QEvent;class QAbstractItemViewPrivate;class Q_GUI_EXPORT QAbstractItemView : public QAbstractScrollArea{    Q_OBJECT    Q_ENUMS(SelectionMode SelectionBehavior ScrollHint ScrollMode DragDropMode)    Q_FLAGS(EditTriggers)    Q_PROPERTY(bool autoScroll READ hasAutoScroll WRITE setAutoScroll)    Q_PROPERTY(EditTriggers editTriggers READ editTriggers WRITE setEditTriggers)    Q_PROPERTY(bool tabKeyNavigation READ tabKeyNavigation WRITE setTabKeyNavigation)#ifndef QT_NO_DRAGANDDROP    Q_PROPERTY(bool showDropIndicator READ showDropIndicator WRITE setDropIndicatorShown)    Q_PROPERTY(bool dragEnabled READ dragEnabled WRITE setDragEnabled)    Q_PROPERTY(bool dragDropOverwriteMode READ dragDropOverwriteMode WRITE setDragDropOverwriteMode)    Q_PROPERTY(DragDropMode dragDropMode READ dragDropMode WRITE setDragDropMode)#endif    Q_PROPERTY(bool alternatingRowColors READ alternatingRowColors WRITE setAlternatingRowColors)    Q_PROPERTY(SelectionMode selectionMode READ selectionMode WRITE setSelectionMode)    Q_PROPERTY(SelectionBehavior selectionBehavior READ selectionBehavior WRITE setSelectionBehavior)    Q_PROPERTY(QSize iconSize READ iconSize WRITE setIconSize)    Q_PROPERTY(Qt::TextElideMode textElideMode READ textElideMode WRITE setTextElideMode)    Q_PROPERTY(ScrollMode verticalScrollMode READ verticalScrollMode WRITE setVerticalScrollMode)    Q_PROPERTY(ScrollMode horizontalScrollMode READ horizontalScrollMode WRITE setHorizontalScrollMode)public:    enum SelectionMode {        NoSelection,        SingleSelection,        MultiSelection,        ExtendedSelection,        ContiguousSelection    };    enum SelectionBehavior {        SelectItems,        SelectRows,        SelectColumns    };    enum ScrollHint {        EnsureVisible,        PositionAtTop,        PositionAtBottom,        PositionAtCenter    };    enum EditTrigger {        NoEditTriggers = 0,        CurrentChanged = 1,        DoubleClicked = 2,        SelectedClicked = 4,        EditKeyPressed = 8,        AnyKeyPressed = 16,        AllEditTriggers = 31    };    Q_DECLARE_FLAGS(EditTriggers, EditTrigger)    enum ScrollMode {        ScrollPerItem,        ScrollPerPixel    };    explicit QAbstractItemView(QWidget *parent = 0);    ~QAbstractItemView();    virtual void setModel(QAbstractItemModel *model);    QAbstractItemModel *model() const;    virtual void setSelectionModel(QItemSelectionModel *selectionModel);    QItemSelectionModel *selectionModel() const;    void setItemDelegate(QAbstractItemDelegate *delegate);    QAbstractItemDelegate *itemDelegate() const;    void setSelectionMode(QAbstractItemView::SelectionMode mode);    QAbstractItemView::SelectionMode selectionMode() const;    void setSelectionBehavior(QAbstractItemView::SelectionBehavior behavior);    QAbstractItemView::SelectionBehavior selectionBehavior() const;    QModelIndex currentIndex() const;    QModelIndex rootIndex() const;    void setEditTriggers(EditTriggers triggers);    EditTriggers editTriggers() const;    void setVerticalScrollMode(ScrollMode mode);    ScrollMode verticalScrollMode() const;    void setHorizontalScrollMode(ScrollMode mode);    ScrollMode horizontalScrollMode() const;    void setAutoScroll(bool enable);    bool hasAutoScroll() const;    void setTabKeyNavigation(bool enable);    bool tabKeyNavigation() const;#ifndef QT_NO_DRAGANDDROP    void setDropIndicatorShown(bool enable);    bool showDropIndicator() const;    void setDragEnabled(bool enable);    bool dragEnabled() const;    void setDragDropOverwriteMode(bool overwrite);    bool dragDropOverwriteMode() const;    enum DragDropMode {        NoDragDrop,        DragOnly,        DropOnly,        DragDrop,        InternalMove    };    void setDragDropMode(DragDropMode behavior);    DragDropMode dragDropMode() const;#endif    void setAlternatingRowColors(bool enable);    bool alternatingRowColors() const;    void setIconSize(const QSize &size);    QSize iconSize() const;    void setTextElideMode(Qt::TextElideMode mode);    Qt::TextElideMode textElideMode() const;    virtual void keyboardSearch(const QString &search);    virtual QRect visualRect(const QModelIndex &index) const = 0;    virtual void scrollTo(const QModelIndex &index, ScrollHint hint = EnsureVisible) = 0;    virtual QModelIndex indexAt(const QPoint &point) const = 0;    QSize sizeHintForIndex(const QModelIndex &index) const;    virtual int sizeHintForRow(int row) const;    virtual int sizeHintForColumn(int column) const;    void openPersistentEditor(const QModelIndex &index);    void closePersistentEditor(const QModelIndex &index);    void setIndexWidget(const QModelIndex &index, QWidget *widget);    QWidget *indexWidget(const QModelIndex &index) const;    void setItemDelegateForRow(int row, QAbstractItemDelegate *delegate);    QAbstractItemDelegate *itemDelegateForRow(int row) const;    void setItemDelegateForColumn(int column, QAbstractItemDelegate *delegate);    QAbstractItemDelegate *itemDelegateForColumn(int column) const;    QAbstractItemDelegate *itemDelegate(const QModelIndex &index) const;    virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const;#ifdef Q_NO_USING_KEYWORD    inline void update() { QAbstractScrollArea::update(); }#else    using QAbstractScrollArea::update;#endif    public Q_SLOTS:    virtual void reset();    virtual void setRootIndex(const QModelIndex &index);    virtual void doItemsLayout();    virtual void selectAll();    void edit(const QModelIndex &index);    void clearSelection();    void setCurrentIndex(const QModelIndex &index);    void scrollToTop();    void scrollToBottom();    void update(const QModelIndex &index);protected Q_SLOTS:    virtual void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight);    virtual void rowsInserted(const QModelIndex &parent, int start, int end);    virtual void rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end);    virtual void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected);    virtual void currentChanged(const QModelIndex &current, const QModelIndex &previous);    virtual void updateEditorData();    virtual void updateEditorGeometries();    virtual void updateGeometries();    virtual void verticalScrollbarAction(int action);    virtual void horizontalScrollbarAction(int action);    virtual void verticalScrollbarValueChanged(int value);    virtual void horizontalScrollbarValueChanged(int value);    virtual void closeEditor(QWidget *editor, QAbstractItemDelegate::EndEditHint hint);    virtual void commitData(QWidget *editor);    virtual void editorDestroyed(QObject *editor);Q_SIGNALS:    void pressed(const QModelIndex &index);    void clicked(const QModelIndex &index);    void doubleClicked(const QModelIndex &index);    void activated(const QModelIndex &index);    void entered(const QModelIndex &index);    void viewportEntered();protected:    QAbstractItemView(QAbstractItemViewPrivate &, QWidget *parent = 0);    void setHorizontalStepsPerItem(int steps);    int horizontalStepsPerItem() const;    void setVerticalStepsPerItem(int steps);    int verticalStepsPerItem() const;    enum CursorAction { MoveUp, MoveDown, MoveLeft, MoveRight,                        MoveHome, MoveEnd, MovePageUp, MovePageDown,                        MoveNext, MovePrevious };    virtual QModelIndex moveCursor(CursorAction cursorAction,                                   Qt::KeyboardModifiers modifiers) = 0;    virtual int horizontalOffset() const = 0;    virtual int verticalOffset() const = 0;    virtual bool isIndexHidden(const QModelIndex &index) const = 0;    virtual void setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags command) = 0;    virtual QRegion visualRegionForSelection(const QItemSelection &selection) const = 0;    virtual QModelIndexList selectedIndexes() const;    virtual bool edit(const QModelIndex &index, EditTrigger trigger, QEvent *event);    virtual QItemSelectionModel::SelectionFlags selectionCommand(const QModelIndex &index,                                                                 const QEvent *event = 0) const;#ifndef QT_NO_DRAGANDDROP    virtual void startDrag(Qt::DropActions supportedActions);#endif    virtual QStyleOptionViewItem viewOptions() const;    enum State {        NoState,        DraggingState,        DragSelectingState,        EditingState,        ExpandingState,        CollapsingState,        AnimatingState    };    State state() const;    void setState(State state);    void scheduleDelayedItemsLayout();    void executeDelayedItemsLayout();    void setDirtyRegion(const QRegion &region);    void scrollDirtyRegion(int dx, int dy);    QPoint dirtyRegionOffset() const;    void startAutoScroll();    void stopAutoScroll();    void doAutoScroll();    bool focusNextPrevChild(bool next);    bool event(QEvent *event);    bool viewportEvent(QEvent *event);    void mousePressEvent(QMouseEvent *event);    void mouseMoveEvent(QMouseEvent *event);    void mouseReleaseEvent(QMouseEvent *event);    void mouseDoubleClickEvent(QMouseEvent *event);#ifndef QT_NO_DRAGANDDROP    void dragEnterEvent(QDragEnterEvent *event);    void dragMoveEvent(QDragMoveEvent *event);    void dragLeaveEvent(QDragLeaveEvent *event);    void dropEvent(QDropEvent *event);#endif    void focusInEvent(QFocusEvent *event);    void focusOutEvent(QFocusEvent *event);    void keyPressEvent(QKeyEvent *event);    void resizeEvent(QResizeEvent *event);    void timerEvent(QTimerEvent *event);    void inputMethodEvent(QInputMethodEvent *event);#ifndef QT_NO_DRAGANDDROP    enum DropIndicatorPosition { OnItem, AboveItem, BelowItem, OnViewport };    DropIndicatorPosition dropIndicatorPosition() const;#endifprivate:    Q_DECLARE_PRIVATE(QAbstractItemView)    Q_DISABLE_COPY(QAbstractItemView)    Q_PRIVATE_SLOT(d_func(), void _q_columnsAboutToBeRemoved(const QModelIndex&, int, int))    Q_PRIVATE_SLOT(d_func(), void _q_columnsRemoved(const QModelIndex&, int, int))    Q_PRIVATE_SLOT(d_func(), void _q_rowsRemoved(const QModelIndex&, int, int))    Q_PRIVATE_SLOT(d_func(), void _q_modelDestroyed())    Q_PRIVATE_SLOT(d_func(), void _q_layoutChanged())    friend class QTreeViewPrivate; // needed to compile with MSVC    friend class QAccessibleItemRow;};Q_DECLARE_OPERATORS_FOR_FLAGS(QAbstractItemView::EditTriggers)#endif // QT_NO_ITEMVIEWSQT_END_HEADER#endif // QABSTRACTITEMVIEW_H

⌨️ 快捷键说明

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