在其实例类方法中调用QMainWindow方法

时间:2013-04-22 17:19:51

标签: c++ qt methods qt4 qmainwindow

我有MainWindow

class MainWindow : public QMainWindow
{
    customClass * obj;
public:
    void foo(bool);
}

这是我的customClass:

class customClass 
{
    void foo1(bool);
}

现在,我想在foo()中调用foo1()方法。

怎么做?

3 个答案:

答案 0 :(得分:1)

您可以使customClass的构造函数获取指向MainWindow的指针,该指针存储在成员变量中供以后使用。

class customClass 
{
public:
  customClass(MainWindow* mainWindow)
  : mainWindow_(mainWindow)
  {
  }

  void foo1(bool b) {
    mainWindow_->foo(b);
  }

private:
  MainWindow* mainWindow_;
}

答案 1 :(得分:0)

使用依赖注入模式之一:link

struct A;
struct B
{
  B( A& a );

void foo1()
{
  m_a.foo();
}

private:
  A& m_a;
}

struct A
{
  void foo(){}
  B m_b;
}

答案 2 :(得分:0)

您可以让MainWindow实现单件模式(如果它适用于您的设计),那么您可以直接从任何您喜欢的地方获取实例。