2014-03-25 62 views
0

我正在使用的OpenCV和Qt小的檢測中的應用。高效的方式面對

我的問題是:什麼是標記與矩形檢測到的面部知道,我想這個矩形是點擊爲了觸發某些事件的每個點擊矩形的有效途徑。

我使用QPushButton(透明背景和一些彩色邊框)在QLabel(包含圖像)使這個。

My actual render

是否有任何其他明顯的方法(可能QSvg或的QGraphicsView)?

+0

在QML你可以只使用被點擊任意矩形。對於QtGUI你有一個QPushButton的解決方案似乎沒問題。最終,你可以繼承的按鈕並實現塗料的功能只繪製邊界(會比透明背景快),或者你使用QFrame的一個子類,並重新實現的MouseEvent處理程序來處理你的點擊。 –

+0

在Qt中,有幾十種很好的方法可以實現圖像頂部的可點擊矩形。如果你沒有任何問題(如你想要但不能輕易做到的一些視覺或功能性的東西),那麼就使用它。 – hyde

回答

1

如果你想堅持到小部件,那麼你目前的做法是最明顯的。如果可能有數百個面孔,然而,QGraphicsView會更有效率,因爲它是專門爲此設計的。

如果您可以使用Qt Quick,那麼在Repeater內使用MouseAreaRectangle將是最簡單的方法。揭露C++ code to QML也很簡單。