我有一个关于Qt应用程序的问题。我正在尝试从另一个类中发出信号(它是放置信号的类的嵌套类)。
我已经将信号与插槽连接,这应该没问题。但是当我尝试从这个嵌套类中发出此信号时,我会得到编译器错误:
无法调用成员函数而不使用对象
怎么了?我在Qt文档中寻找了解决方案,但找不到合理的解决方案甚至解释。
简化的类定义如下。
我已经将信号与插槽连接,这应该没问题。但是当我尝试从这个嵌套类中发出此信号时,我会得到编译器错误:
无法调用成员函数而不使用对象
怎么了?我在Qt文档中寻找了解决方案,但找不到合理的解决方案甚至解释。
简化的类定义如下。
class LogWriter : public QDialog
{
Q_OBJECT
public:
class Log : public QObject
{
Q_OBJECT
public:
bool print;
Log(bool _print, QString _color, QObject *obj = NULL)
: QObject(obj)
{
print = _print;
color = _color;
}
};
LogWriter(QWidget * parent = 0);
~LogWriter();
public slots:
void setMinVal();
void setMediumVal();
void setHighVal();
void cleanWindow();
void appendText(QString &text);
signals:
void signalLogAppend(QString);
};
我在客户端代码中将LogWriter实例的一个名为LOW
的信号连接到某个槽位,使用以下函数调用:
connect(&LOW, SIGNAL(signalLogAppend(QString)),
this, SLOT(appendText(QString&)),
Qt::DirectConnection);
LOW
是正确的对象类型吗? - tmpearcemoc
是否能很好地处理嵌套类定义。 - ruben2020