C++ GUI Qt 编程(第二版)第8章 Diagram_1(实现主对话框)

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

实现主对话框:

main.cpp的源代码为:

#include

 
 
#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
   
 
 
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

#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的对话框,编译通过的结果如下
C++ GUI Qt 编程(第二版)第8章 Diagram_1(实现主对话框)_第1张图片 

 

 

你可能感兴趣的:(C++ GUI Qt 编程(第二版)第8章 Diagram_1(实现主对话框))