Qt:访问构造函数外部使用GUI小部件的类的函数

时间:2016-12-22 07:44:35

标签: c++ qt class access

我有一个名为" mainWindow"。

的Qt-GUI

在构造函数中,我使用了一个名为" testclass"的类,它使用GUI中的一个小部件。

mainWindow::mainWindow(QWidget *parent): QMainWindow(parent)
{
testclass window_test(ui.Widget);
window_test.function();
}

现在我想访问" window_test"的功能。在构造函数之外。

我尝试添加

testclass window_test(ui.Widget);

作为mainWindow类的类成员,但我无法在那里访问ui.Widget。

处理这种情况的最佳方法是什么?

3 个答案:

答案 0 :(得分:0)

您是否在mainWindow的头文件中声明了函数的原型?它可能只是一个范围问题。

答案 1 :(得分:0)

我将“testclass”的实例添加到mainWindow.h但我必须使用标准构造函数。因此,我宣布了一个新的函数来将小部件传递给类。

答案 2 :(得分:0)

如果必须将参数传递给成员变量window_test的构造函数,可以这样做:

mainWindow::mainWindow(QWidget *parent) : QMainWindow(parent),
  window_test(ui.Widget)
{
}

成员变量的声明只是

class mainWindow {
  ...
  testwindow window_test;
};

如果ui本身是具有构造函数的mainWindow的成员变量,则声明的顺序可能很重要。然后应在ui之前声明window_test,以便在使用它时构建它。