小弟刚开始用Qt,就遇到了一个让我很无语的问题,在VS2005下使用创建了一个Qt的工程,
其中一个类里创建了一个QListView,在connect的时候出了问题。在继承自QDialog的类的构造函数中,代码是这样的:
resize(600, 300);
m_ListView = new QListView(this);
m_ListView->setGeometry(10, 10, 190, 280);
QStringList strList;
strList<<"1";
strList<<"2";
strList<<"3";
strList<<"4";
m_StringListModel = new QStringListModel(strList);
m_ListView->setModel(m_StringListModel);
connect(m_ListView, SIGNAL(clicked(const QModelIndex &index)),
this, SOLT(setTreeModel(const QModelIndex &index)));
connect(m_ListView, SIGNAL(doubleClicked(const QModelIndex &index)),
this, SLOT(setTreeModel(const QModelIndex &index)));
程序可以跑起来,而且listview也可以正常显示,但是信号和槽却不能按照我希望的相连,在vs输出栏有提示
Object::connect: No such signal QListView::clicked(QModelIndex&index)
Object::connect: No such signal QListView::doubleClicked(QModelIndex&index);
我用QPushButton的clicked()信号又可以,它的clicked信号也是从父类继承的。
这个问题出现了好几次了,而且过的时间长了有时候它又好了。
[ 此帖被yuman在2009-10-21 22:06重新编辑 ]