• 6765阅读
  • 0回复

使用qobject_cast<QPushButton*>(sender())遇到错误 [复制链接]

上一主题 下一主题
离线liuyuanan
 

只看楼主 倒序阅读 楼主  发表于: 2012-10-17
关键词: qobject_castsender
代码如下:
QPushButton *btn = new QPushButton(this);    
btn->setText(tr("button"));    
ui->horizontalLayout->addWidget(btn);    
connect(btn,SIGNAL(clicked()),this,SLOT(mySlot()));

void MainWindow::mySlot()
{
    QPushButton *button = qobject_cast<QPushButton*>(sender());
        if (button == NULL) return;
        qDebug()<<button->text();
}

执行到QPushButton *button = qobject_cast<QPushButton*>(sender());这一行时,程序崩溃了。提示如下:
(Internal error: pc 0x201 in read in psymtab, but not in symtab.)
(Internal error: pc 0x201 in read in psymtab, but not in symtab.)
(Internal error: pc 0x201 in read in psymtab, but not in symtab.)
can't find linker symbol for virtual table for `QPushButton' value
  found `QMainWindow::staticMetaObjectExtraData' instead
(Internal error: pc 0x201 in read in psymtab, but not in symtab.)
(Internal error: pc 0x201 in read in psymtab, but not in symtab.)
(Internal error: pc 0x201 in read in psymtab, but not in symtab.)
(Internal error: pc 0x201 in read in psymtab, but not in symtab.)
(Internal error: pc 0x201 in read in psymtab, but not in symtab.)
(Internal error: pc 0x201 in read in psymtab, but not in symtab.)
(Internal error: pc 0x201 in read in psymtab, but not in symtab.)
(Internal error: pc 0x201 in read in psymtab, but not in symtab.)

求高手指点,问题出在哪里
快速回复
限100 字节
 
上一个 下一个