• 4859阅读
  • 4回复

关于一个程序在运行时找不到singnal的问题? [复制链接]

上一主题 下一主题
离线xiaodong
 
只看楼主 倒序阅读 楼主  发表于: 2009-04-15
问题是这样的,运行的时候看application out put,有一行
Object::connect: No such signal QListView::pressed( const QModelIndex index ) in selectimagedialog.cpp:35
我用的是QtCreator,Qt版本4.5,平台winXp
以下是一些相关文件。

头文件
class LSelectImage : public QDialog
{
    Q_OBJECT
public:
    LSelectImage( QWidget * parent = 0,QMap<QString, QRect>* map = 0);
public slots:
    void drawSelectImage( const QModelIndex & index );
    void drawSelectImage();
public:
    QListView*  m_pView;
    QFrame*        m_pDispaly;
    
    QMap<QString, QRect>* m_imageMap;
};


源文件
LSelectImage::LSelectImage( QWidget * parent,QMap<QString, QRect>* map):QDialog(parent)
{
    this->setWindowTitle(tr("Select Image"));
//loyout
    QPushButton* pOK = new QPushButton("OK");;
    QPushButton* pCancel = new QPushButton("Cancel");
    m_pView = new QListView;
    m_pDispaly = new QFrame;

    QGridLayout *layout = new QGridLayout;

    m_pView->setFrameStyle(QFrame::Sunken | QFrame::Panel);
    m_pDispaly->setFrameStyle(QFrame::Sunken | QFrame::Panel);

    layout->addWidget(m_pView, 0, 0, 7, 2);
    layout->addWidget(m_pDispaly, 0, 2, 6, 5);
    layout->addWidget(pOK, 6, 5);
    layout->addWidget(pCancel, 6, 6);
    this->setLayout(layout);
    this->resize (650, 500 );

//set view/mode
    m_imageMap = map;
    QStringListModel *model = new QStringListModel(m_imageMap->keys());
    m_pView->setModel(model);

//single and slots
    connect(pOK, SIGNAL(clicked()), this, SLOT(drawSelectImage())); //这个slot是ok的。

    connect(pCancel, SIGNAL(clicked()), this, SLOT(reject()));
    connect(m_pView, SIGNAL(pressed( const QModelIndex index )), this, SLOT(drawSelectImage(const QModelIndex & index )));

    this->show();
}

pro文件

TARGET = GUIDesign
TEMPLATE = app
OBJMOC += moc
SOURCES += main.cpp \
    mainwindow.cpp \
    parse.cpp \
    selectimagedialog.cpp
HEADERS += mainwindow.h \
    parse.h \
    selectimagedialog.h


我猜是不是pro文件出了问题,因为查帮助文档的时候明明有这个signal ,还请帮帮忙



离线lg_ook
只看该作者 1楼 发表于: 2009-04-15
void pressed ( const QModelIndex & index )

你少了一个&吧?
离线xiaodong
只看该作者 2楼 发表于: 2009-04-15
sorry,没有, 这边少打了一个
离线xiaodong
只看该作者 3楼 发表于: 2009-04-15
好像 还 是 不 行哦
离线xiaodong
只看该作者 4楼 发表于: 2009-04-15
在线等啊
快速回复
限100 字节
 
上一个 下一个