Q3CanvasView Class Reference [Qt3Support module]
The Q3CanvasView class provides an on-screen view of a Q3Canvas. Далее...
#include <Q3CanvasView> This class is part of the Qt 3 support library. It is provided to keep old source code working. Мы настоятельно не рекомендуем использовать этот класс в новом коде. See Porting to Qt 4 for more information.
Note to Qt Desktop Light Edition users: This class is only available in the Qt Desktop Edition.
Inherits Q3ScrollView.
Открытые функции
- 46 public functions inherited from Q3ScrollView
- 4 public functions inherited from Q3Frame
- 13 открытых функций, унаследованных от QFrame
- 207 открытых функций, унаследованных от QWidget
- 29 открытых функций, унаследованных от QObject
- 12 открытых функций, унаследованных от QPaintDevice
Защищенные функции
- virtual void drawContents ( QPainter * p, int cx, int cy, int cw, int ch )
- virtual QSize sizeHint () const
- 17 protected functions inherited from Q3ScrollView
- 5 protected functions inherited from Q3Frame
- 37 защищенных функций, унаследованных от QWidget
- 7 защищенных функций, унаследованных от QObject
- 1 защищённая функция, унаследованная от QPaintDevice
Дополнительные унаследованные члены
- 10 properties inherited from Q3ScrollView
- 2 properties inherited from Q3Frame
- 6 свойств, унаследованных от QFrame
- 57 свойств, унаследованных от QWidget
- 1 свойство, унаследованное от QObject
- 8 public slots inherited from Q3ScrollView
- 19 открытых слотов, унаследованных от QWidget
- 1 открытый слот, унаследованный от QObject
- 5 signals inherited from Q3ScrollView
- 1 сигнал, унаследованный от QWidget
- 1 сигнал, унаследованный от QObject
- 4 статических открытых члена, унаследованных от QWidget
- 5 статических открытых членов, унаследованных от QObject
- 1 защищенный слот, унаследованный от QWidget
Подробное описание
The Q3CanvasView class provides an on-screen view of a Q3Canvas.
A Q3CanvasView is widget which provides a view of a Q3Canvas.
If you want users to be able to interact with a canvas view, subclass Q3CanvasView. You might then reimplement Q3ScrollView::contentsMousePressEvent(). Например:
void MyCanvasView::contentsMousePressEvent(QMouseEvent* e)
{
Q3CanvasItemList l = canvas()->collisions(e->pos());
for (Q3CanvasItemList::Iterator it=l.begin(); it!=l.end(); ++it) {
if ((*it)->rtti() == Q3CanvasRectangle::RTTI)
qDebug("A Q3CanvasRectangle lies somewhere at this point");
}
}
The canvas view shows canvas canvas(); this can be changed using setCanvas().
A transformation matrix can be used to transform the view of the canvas in various ways, for example, zooming in or out or rotating. Например:
QMatrix wm;
wm.scale(2, 2);
wm.rotate(90);
wm.translate(0, -canvas->height());
myCanvasView->setWorldMatrix(wm);
Use setWorldMatrix() to set the canvas view's world matrix: you must ensure that the world matrix is invertible. The current world matrix is retrievable with worldMatrix(), and its inversion is retrievable with inverseWorldMatrix().
Пример:
The following code finds the part of the canvas that is visible in this view, i.e. the bounding rectangle of the view in canvas coordinates.
QRect rc = QRect(myCanvasView->contentsX(), myCanvasView->contentsY(),
myCanvasView->visibleWidth(), myCanvasView->visibleHeight());
QRect canvasRect = myCanvasView->inverseWorldMatrix().mapRect(rc);
See also QMatrix, QPainter::setWorldMatrix(), QtCanvas, and Porting to Graphics View.
Описание функций-членов
Q3CanvasView::Q3CanvasView ( QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 )
Constructs a Q3CanvasView with parent parent, and name name, using the widget flags f. The canvas view is not associated with a canvas, so you must to call setCanvas() to view a canvas.
Q3CanvasView::Q3CanvasView ( Q3Canvas * canvas, QWidget * parent = 0, const char * name = 0, Qt::WindowFlags f = 0 )
Это перегруженная функция.
Constructs a Q3CanvasView which views canvas canvas, with parent parent, and name name, using the widget flags f.
Q3CanvasView::~Q3CanvasView ()
Destroys the canvas view. The associated canvas is not deleted.
Q3Canvas * Q3CanvasView::canvas () const
Returns a pointer to the canvas which the Q3CanvasView is currently showing.
See also setCanvas().
void Q3CanvasView::drawContents ( QPainter * p, int cx, int cy, int cw, int ch ) [virtual protected]
Repaints part of the Q3Canvas that the canvas view is showing starting at cx by cy, with a width of cw and a height of ch using the painter p.
Reimplemented from Q3ScrollView.
const QMatrix & Q3CanvasView::inverseWorldMatrix () const
Returns a reference to the inverse of the canvas view's current transformation matrix.
See also setWorldMatrix() and worldMatrix().
void Q3CanvasView::setCanvas ( Q3Canvas * canvas )
Sets the canvas that the Q3CanvasView is showing to the canvas canvas.
See also canvas().
bool Q3CanvasView::setWorldMatrix ( const QMatrix & wm )
Sets the transformation matrix of the Q3CanvasView to wm. The matrix must be invertible (i.e. if you create a world matrix that zooms out by 2 times, then the inverse of this matrix is one that will zoom in by 2 times).
When you use this, you should note that the performance of the Q3CanvasView will decrease considerably.
Returns false if wm is not invertable; otherwise returns true.
See also worldMatrix(), inverseWorldMatrix(), and QMatrix::isInvertible().
QSize Q3CanvasView::sizeHint () const [virtual protected]
Suggests a size sufficient to view the entire canvas.
Reimplemented from QWidget.
const QMatrix & Q3CanvasView::worldMatrix () const
Returns a reference to the canvas view's current transformation matrix.
See also setWorldMatrix() and inverseWorldMatrix().
Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies) |
Торговые марки |
Qt 4.5.3 |
|