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

📄 diagramview.h

📁 qt3.8开发的例子, 做linux下qt编程可以参考
💻 H
字号:
#ifndef DIAGRAMVIEW_H#define DIAGRAMVIEW_H#include <qcanvas.h>class QAction;class DiagramView : public QCanvasView{    Q_OBJECTpublic:    DiagramView(QCanvas *canvas, QWidget *parent = 0,                const char *name = 0);public slots:    void cut();    void copy();    void paste();    void del();    void properties();    void addBox();    void addLine();    void bringToFront();    void sendToBack();protected:    void contentsContextMenuEvent(QContextMenuEvent *event);    void contentsMousePressEvent(QMouseEvent *event);    void contentsMouseMoveEvent(QMouseEvent *event);    void contentsMouseDoubleClickEvent(QMouseEvent *event);private:    void createActions();    void addItem(QCanvasItem *item);    void setActiveItem(QCanvasItem *item);    void showNewItem(QCanvasItem *item);    QCanvasItem *pendingItem;    QCanvasItem *activeItem;    QPoint lastPos;    int minZ;    int maxZ;    QAction *cutAct;    QAction *copyAct;    QAction *pasteAct;    QAction *deleteAct;    QAction *propertiesAct;    QAction *addBoxAct;    QAction *addLineAct;    QAction *bringToFrontAct;    QAction *sendToBackAct;};class DiagramBox : public QCanvasRectangle{public:    enum { RTTI = 1001 };    DiagramBox(QCanvas *canvas);    ~DiagramBox();    void setText(const QString &newText);    QString text() const { return str; }    void drawShape(QPainter &painter);    QRect boundingRect() const;    int rtti() const { return RTTI; }private:    QString str;};class DiagramLine : public QCanvasLine{public:    enum { RTTI = 1002 };    DiagramLine(QCanvas *canvas);    ~DiagramLine();    QPoint offset() const { return QPoint((int)x(), (int)y()); }    void drawShape(QPainter &painter);    QPointArray areaPoints() const;    int rtti() const { return RTTI; }};#endif

⌨️ 快捷键说明

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