C++ 在其实例类方法中调用QMainWindow方法
我有一个C++ 在其实例类方法中调用QMainWindow方法,c++,qt,methods,qt4,qmainwindow,C++,Qt,Methods,Qt4,Qmainwindow,我有一个main窗口class class MainWindow : public QMainWindow { customClass * obj; public: void foo(bool); } 这是我的课程: class customClass { void foo1(bool); } 现在,我想调用foo1()中的foo()方法 如何做到这一点?使用依赖项注入模式的方法之一: 你可以让你的主窗口实现单例模式(如果它适用于你的设计),然后你可以直接从你喜欢的
main窗口
class
class MainWindow : public QMainWindow
{
customClass * obj;
public:
void foo(bool);
}
这是我的课程:
class customClass
{
void foo1(bool);
}
现在,我想调用foo1()
中的foo()
方法
如何做到这一点?使用依赖项注入模式的方法之一:
你可以让你的主窗口实现单例模式(如果它适用于你的设计),然后你可以直接从你喜欢的任何地方获取一个实例。你可以让你的
customClass
的构造函数获取一个指向MainWindow
的指针,它存储在一个成员变量中供以后使用
class customClass
{
public:
customClass(MainWindow* mainWindow)
: mainWindow_(mainWindow)
{
}
void foo1(bool b) {
mainWindow_->foo(b);
}
private:
MainWindow* mainWindow_;
}
对于初学者来说,这不是很简单吗?它尽可能地简单。您应该将MainWindow类的指针或引用传递给customClass类的构造函数,并保存在某个成员中。那你就可以用了。
class customClass
{
public:
customClass(MainWindow* mainWindow)
: mainWindow_(mainWindow)
{
}
void foo1(bool b) {
mainWindow_->foo(b);
}
private:
MainWindow* mainWindow_;
}