问题描述
我有一个用 Qt 编写的小应用程序,其中 MainWindow 类有 2 个公共插槽,即:
class MainWindow : public QMainWindow
{
Q_OBJECT
.
.
.
.
public slots:
quint8 GetColorCode();
QString GetRGBColorCode();
.
.
.
};
根据 Squish 文档,可以直接从 Squish 环境访问带有 Q_PROPERTY 宏的公共插槽、信号和属性。插槽和信号出现在 Squish IDEs 方法列表窗口下。 但不幸的是,我无法在 Squish IDE 方法列表中看到上述方法。 有没有什么特定的方法可以让 Squish 使用公共插槽?
问候,
比卡什
解决方法
Qt 的 Squish 仅公开“公共”API。您必须公开所需的插槽。
作为测试,我添加了...
public slots:
quint8 GetColorCode();
QString GetRGBColorCode();
...到squish_dir/examples/qt/addressbook/mainwindow.h,然后...
quint8 MainWindow::GetColorCode()
{
return 3;
}
QString MainWindow::GetRGBColorCode()
{
return QString("3");
}
...到squish_dir/examples/qt/addressbook/mainwindow.cpp,编译示例并加载到Squish中。
随后在“应用程序对象”视图中选择 MainWindow 对象时,“方法”视图显示了这两种方法。