根據提供的數組和設定的顯示範圍進行波形的顯示,改變視窗大小,波形和刻度標記都會相應改變。
原始碼下載 :http://download.csdn.net/source/1963001
關鍵技術點:
1、從QGraphicsView 類派生自訂的類:“GraphicsView”,重寫 resizeEvent(QResizeEvent *) 方法。
class GraphicsView : public QGraphicsView<br />{<br />public:<br />GraphicsView (QWidget * parent = 0);<br />protected:<br />void resizeEvent(QResizeEvent *event) {<br />if (scene()){<br />scene()->setSceneRect(QRect(QPoint(0, 0), event->size()));<br />}<br />QGraphicsView::resizeEvent(event);<br />}<br />};
2、將根據*.ui檔案產生的ui_*.h檔案中的
QGraphicsView *graphicsView ;
... ...
graphicsView = new QGraphicsView(gridLayoutWidget );
改成 :
GraphicsView *graphicsView ;
... ...
graphicsView = new GraphicsView(gridLayoutWidget );
當然還要記得:
#include "GraphicsView.h"
3、要添加QGridLayout *gridLayout ;並將它的parent 指定為 表單的QWidget,預設是自動產生的gridLayoutWidget
gridLayout = new QGridLayout(DrawTestClass );
4、重寫 視窗類別的resizeEvent(QResizeEvent *)
void DrawTest::resizeEvent(QResizeEvent *event){<br /> QWidget::resizeEvent(event);<br /> drawClicked();//繪製函數<br />}
5、原始碼下載:http://download.csdn.net/source/1963001