在QT 4中创建插槽时的模板问题
A template issue when creating a slot in Qt 4
我正在尝试创建一个用于信号/插槽连接的类(旧语法,QT 4.8),当我不断收到模板错误时,我做错了什么: invalid declaration of member template in local class
...显然与Q_OBJECT
宏有关...我该怎么办?这是一个建模程序:
#include <QtGui>
#include <QtCore>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget mw;
mw.setWindowTitle("Main Window");
mw.resize(400, 400);
mw.show();
QLabel label ("Enter something:", &mw);
label.setAlignment(Qt::AlignHCenter);
label.show();
QLineEdit line (&mw);
line.show();
QString a = line.text();
QTextEdit text (&mw);
text.show();
class MyObject : public QObject
{
Q_OBJECT /* the problem is somewhere here... */
public:
QTextEdit text;
QString a;
public slots:
void onClicked() {
text.setText(a);
}
};
QPushButton btn ("Convert", &mw);
QObject::connect(
&btn,
SIGNAL(clicked()),
this,
SLOT(onClicked()));
btn.show();
QVBoxLayout layout_mw;
layout_mw.addWidget(&label);
layout_mw.addWidget(&line);
layout_mw.addWidget(&btn);
layout_mw.addWidget(&text);
mw.setLayout(&layout_mw);
return app.exec();
}
QT的MOC不能处理嵌套类也不能处理本地类。您将必须在main
之外移动类定义。该文档仅提及嵌套类,但限制也适用于本地类。
相关文章:
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- 如何在没有信号的情况下从C++执行QML插槽
- 从Q_INVOKABLE功能或插槽中更改QQuick图像源
- 升压信号2将插槽传递到成员功能以断开连接
- 如何在qt中将信号和插槽与另一个对象连接 --解决了
- C++ 信号和插槽不工作:插槽不响应事件
- NS3 插槽混淆(需要帮助理解)
- QObject::连接无法将信号连接到*this*对象的插槽
- QT 插槽未在主线程上调用
- 通过插槽和信号在不同线程中的两个qt对象之间进行通信
- Qt 信号/插槽问题
- 在QT 4中创建插槽时的模板问题
- QT- QT插槽问题
- 我在Qt信号和插槽问题上的错误在哪里?
- QT 信号插槽问题。发出信号,不调用时隙。没有警告,没有错误,没有消息
- 本程序的信号和插槽问题(Qt)
- QT插槽问题,链接错误
- 由于连接信号和插槽上的问题,代码崩溃
- 在Qt中连接信号到插槽时的问题
- 连接信号/插槽中的问题,qRegisterMetaType() QList<QString>