訪問功能我有一個Qt的圖形用戶界面稱爲主窗口。QT/VTK:在客戶交互器類
我在構造函數MainWindow
中渲染一些3D對象。 此外,我在MainWindow.cpp中聲明瞭vtkInteractorStyleTrackballCamera
的自定義類,如this example。
現在我想從我的Interactor的自定義類中調用功能OnLeftButtonDown()
中MainWindow
類的函數。
我試圖繼承MainWindow
類自定義交互器類是這樣的:
class customMouseInteractorStyle : public vtkInteractorStyleTrackballCamera, MainWindow
但是,這是行不通的。
如何在那裏訪問MainWindow
的功能?
按下鼠標左鍵時,會自動調用該功能。
// Define interaction style
class customMouseInteractorStyle : public vtkInteractorStyleTrackballCamera
{
public:
static customMouseInteractorStyle* New();
vtkTypeMacro(customMouseInteractorStyle, vtkInteractorStyleTrackballCamera);
virtual void OnRightButtonDown()
{
MainWindowfunction(); // <- I want to call this
vtkInteractorStyleTrackballCamera::OnRightButtonDown();
}
};
vtkStandardNewMacro(customMouseInteractorStyle);
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
// Rendering some things
}
void MainWindow::MainWindowfunction
{
// Do something
}
是'OnLeftButtonDown()'調用另一個線程? – hyde
此外,你應該表現出你的'OnLeftButtonDown()'方法的代碼。 「這不起作用」是一個非常糟糕的錯誤描述,你是什麼意思?你不能讓它編譯?它崩潰?什麼? – hyde
謝謝您的回答!我添加了一些代碼,希望這有助於理解我的問題。 它不工作,我可以編譯,但不能進行調試手段(窗口沒有打開,一切都變得緩慢)。對不準確的描述 – Brian