3

我的表单中有一个 QTableWidget,当用户双击行或列的标题时,我想做一些事情。我正在使用以下连接语句:

connect(ui->tblResults->horizontalHeader(),SIGNAL(doubleClicked(QModelIndex)),this,SLOT(tableDoubleClicked(QModelIndex)));

窗口类在哪里this,ui->tblResults 是窗口窗体上的 QTableWidget。当我尝试双击标题时,没有任何反应。我要连接的插槽是:

void wndSearch::tableDoubleClicked(QModelIndex tmp){
    QMessageBox::information(0,"DERP!","TEST");
}

很简单,只是测试一下slot是否被调用。我从来没有收到这个消息框。我在 connect() 调用中没有收到任何运行时错误。

我使用了错误的信号吗?还有什么问题吗?如果您需要更多信息,请告诉我,感谢您的帮助!

[编辑] freenode 上#qt 中的某个人帮助了我。我正在寻找的信号是 sectionDoubleClicked(int)

4

1 回答 1

4

http://doc.qt.nokia.com/latest/qheaderview.html#sectionDoubleClicked

你可以得到QHeaderViewviaQTableWidget::horizontalHeader()QTableWidget::verticalHeader().

于 2010-11-08T22:12:36.393 回答