Qt妗嗘灦QGraphicsScene鎬庝箞浣跨敤
浣跨敤Qt妗嗘灦涓殑QGraphicsScene锛屾偍闇€瑕佹寜鐓т互涓嬫楠よ繘琛屾搷浣滐細
- 鍒涘缓涓€涓猀GraphicsScene瀵硅薄锛?/li>
QGraphicsScene scene;
- 灏嗗満鏅笌QGraphicsView锛堟垨鍏朵粬QGraphicsScene鐨勮鍥剧被锛夊叧鑱旇捣鏉ワ紝浠ヤ究鑳藉鏄剧ず鍦烘櫙涓殑鍥惧舰椤癸細
QGraphicsView view(&scene);
- 鍒涘缓鍥惧舰椤癸紙QGraphicsItem锛夊苟灏嗗叾娣诲姞鍒板満鏅腑锛?/li>
QGraphicsItem *item = new QGraphicsRectItem(0, 0, 100, 100); // 鍒涘缓涓€涓煩褰㈠浘褰㈤」
scene.addItem(item); // 灏嗗浘褰㈤」娣诲姞鍒板満鏅腑
- 鍙互閫氳繃璁剧疆鍦烘櫙鐨勫睘鎬ф潵鏇存敼鍦烘櫙鐨勮涓哄拰澶栬锛屼緥濡傝缃満鏅殑鑳屾櫙棰滆壊锛?/li>
scene.setBackgroundBrush(Qt::gray);
- 濡傛灉闇€瑕佸鐞嗗満鏅腑鐨勪簨浠讹紝渚嬪榧犳爣鐐瑰嚮銆佺Щ鍔ㄧ瓑锛屽彲浠ラ€氳繃閲嶅啓鍦烘櫙鐨勭浉鍏充簨浠跺鐞嗗嚱鏁版潵瀹炵幇锛?/li>
void MyScene::mousePressEvent(QGraphicsSceneMouseEvent *event) {
// 澶勭悊榧犳爣鐐瑰嚮浜嬩欢
}
- 鏈€鍚庯紝灏嗗満鏅樉绀哄湪搴旂敤绋嬪簭鐨勪富绐楀彛涓細
QMainWindow window;
window.setCentralWidget(&view);
window.show();
浠ヤ笂鏄娇鐢≦GraphicsScene鐨勫熀鏈楠わ紝鎮ㄥ彲浠ユ牴鎹疄闄呴渶姹傝繘琛屾洿澶氱殑鎿嶄綔鍜屽畾鍒躲€?/p>