我有一个填充的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没有发生任何事情......我在这里错过了什么?
答案 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
已包含在类定义中。