QT 槽函数参数问题
首先说,我对QT的信号和槽部了解。我想实现这样的功能。下载一个文件,下完后,发送一个信号,然后去处理这个文件。但是我这样写publicslots:intreadXML(Q...
首先说,我对QT的信号和槽部了解。
我想实现这样的功能。下载一个文件,下完后,发送一个信号,然后去处理这个文件。但是我这样写
public slots:
int readXML( QString sXmlFilePath,QString( & )[10][8] );
/home/good/viewPlayerSys-build-desktop-Desktop_Qt_4_7_4_for_GCC__Qt_SDK____/../viewPlayerSys/xmlpro.h:22: 错误:‘int xmlPro::readXML(QString, QString (&)[10][8])’ cannot be overloaded
/home/good/viewPlayerSys-build-desktop-Desktop_Qt_4_7_4_for_GCC__Qt_SDK____/../viewPlayerSys/xmlpro.h:18: 错误:with ‘int xmlPro::readXML(QString, QString (&)[10][8])’
这是咋回事阿。
还有我这样写成不成
connect(&down, SIGNAL(downDone()), &readXml, SLOT(readXML(xmlpath,info)));
非常紧急,在线等
还有,如果我把槽函数声明放在public下面而不是slot下,是没有问题的。难道是槽函数的参数问题吗
已径解决了,connect(&down, SIGNAL(downDone()), &readXml, SLOT(readXML(xmlpath,info)));确实不行,貌似要相同参数。我改成connect(&down, SIGNAL(downDone()),this, SLOT(readXML()));
再用readXML()调用readXml.readXML(xmlpath,info)就可以了
那第一个问题怎么回事? 展开
我想实现这样的功能。下载一个文件,下完后,发送一个信号,然后去处理这个文件。但是我这样写
public slots:
int readXML( QString sXmlFilePath,QString( & )[10][8] );
/home/good/viewPlayerSys-build-desktop-Desktop_Qt_4_7_4_for_GCC__Qt_SDK____/../viewPlayerSys/xmlpro.h:22: 错误:‘int xmlPro::readXML(QString, QString (&)[10][8])’ cannot be overloaded
/home/good/viewPlayerSys-build-desktop-Desktop_Qt_4_7_4_for_GCC__Qt_SDK____/../viewPlayerSys/xmlpro.h:18: 错误:with ‘int xmlPro::readXML(QString, QString (&)[10][8])’
这是咋回事阿。
还有我这样写成不成
connect(&down, SIGNAL(downDone()), &readXml, SLOT(readXML(xmlpath,info)));
非常紧急,在线等
还有,如果我把槽函数声明放在public下面而不是slot下,是没有问题的。难道是槽函数的参数问题吗
已径解决了,connect(&down, SIGNAL(downDone()), &readXml, SLOT(readXML(xmlpath,info)));确实不行,貌似要相同参数。我改成connect(&down, SIGNAL(downDone()),this, SLOT(readXML()));
再用readXML()调用readXml.readXML(xmlpath,info)就可以了
那第一个问题怎么回事? 展开
展开全部
你的问题出现在第三个参数(接收者),第三个参数是个QObject 对象指针,不能赋予函数指针
请查看函数原型
bool QObject::connect ( const QObject * sender, const char * signal, const QObject * receiver, const char * method, Qt::ConnectionType type = Qt::AutoConnection ) [static]
请查看函数原型
bool QObject::connect ( const QObject * sender, const char * signal, const QObject * receiver, const char * method, Qt::ConnectionType type = Qt::AutoConnection ) [static]
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询