QTableWidget itemDoubleClicked信号链接到textEdit

时间:2011-11-01 14:54:53

标签: qt signals-slots qtablewidget qtablewidgetitem

我有一个填充的tableWidget,我想在doubleClick上选择行标题,然后抓住行标题中的文本,然后用它填充textEdit。

我有:

        connect(ui->tableWidget, SIGNAL(itemDoubleClicked(QTableWidget*)),ui->textEdit, SLOT(on_tableWidget_itemDoubleClicked(QTableWidgetItem*)));

void on_tableWidget_itemDoubleClicked(QTableWidgetItem *item)
{
    QString selectedName = item->text();
    ui->textEdit->setText(selectedName);
}

并且当我运行代码时焦点不会改变buh textEdit没有发生任何事情......我在这里错过了什么?

2 个答案:

答案 0 :(得分:2)

连接应该是

connect(ui->tableWidget, SIGNAL(itemDoubleClicked(QTableWidget*)),
        this, SLOT(on_tableWidget_itemDoubleClicked(QTableWidgetItem*)));

如果您的班级中定义了插槽。

答案 1 :(得分:0)

使用插槽名称格式(“on_widgetName_signalName”)并且因为tableWidget属于生成的ui,连接应该由构造函数中的行ui->setupUi(this);自动完成

因此,您可以删除connect调用,但应检查on_tableWidget_itemDoubleClicked是否已声明为插槽,并且宏Q_OBJECT已包含在类定义中。