zoukankan      html  css  js  c++  java
  • C++ GUI Qt 编程(第二版)第8章 Diagram_1(实现主对话框)

      这个程序有4个类,其中还有一个form这个程序还算是比较复杂的了,但是作者提供的源代码在xp系统、Qt4.7、windows and linux的环境下,可以添加node类,但是需要选中两个node才能连接,但是连接后去没有办法在和连接线一起拖动,实际显示节点和连线是分离的。下面就这个程序和这个程序的问题做一个全面的分析

    实现主对话框:

    main.cpp的源代码为:

    #include <QApplication>

    #include "Diagram.h"
    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
        Diagram view;
        view.show();
        return app.exec();
    }

    Diagramwindow.h的源代码为:

    #ifndef DIAGRAM_H

    #define DIAGRAM_H
    #include<QMainWindow>
    class QAction;
    class QGraphicsItem;
    class QGraphicsScene;
    class QGraphicsView;
    class Diagram : public QMainWindow
    {
        Q_OBJECT
    public:
        Diagram();
    private:
        QGraphicsScene *scene;
        QGraphicsView *view;
    };
    #endif // DIAGRAM_H
    
    

    Diagramwindow.cpp的源代码为:

    #include<QtGui>

    #include "Diagram.h"
    Diagram::Diagram()
    {
        scene = new QGraphicsScene(0, 0, 600, 500); new a scene
        view = new QGraphicsView;new a view
        view->setScene(scene);set the vscene in the view
        view->setDragMode(QGraphicsView::RubberBandDrag);set the view mode
        view->setRenderHints(QPainter::Antialiasing
                             | QPainter::TextAntialiasing);
        view->setContextMenuPolicy(Qt::ActionsContextMenu);
        setCentralWidget(view);
    }
    这些最简单的代码,构成了一个最简单的windows的对话框,编译通过的结果如下
    diagram 

     

    
    
    
  • 相关阅读:
    [SDOI 2009] HH去散步
    [SDOI 2017] 新生舞会
    【期望 数学】7.6神经衰弱
    初涉2-SAT
    【tarjan 拓扑排序 dp】bzoj1093: [ZJOI2007]最大半连通子图
    【贪心】bzoj1572: [Usaco2009 Open]工作安排Job
    【贪心优化dp决策】bzoj1571: [Usaco2009 Open]滑雪课Ski
    概述「并查集补集转化」模型&&luoguP1330 封锁阳光大学
    初涉tarjan缩点
    初涉三元环
  • 原文地址:https://www.cnblogs.com/xmphoenix/p/1930580.html
Copyright © 2011-2022 走看看