我的表单中有一个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");
}
非常简单,只是测试看看是否调用了插槽。我从未收到此消息框。我没有在connect()调用上得到任何运行时错误。
我使用了错误的信号吗?还有别的错吗?如果您需要更多信息,请告诉我,并感谢您的帮助!
[编辑] freenode上#qt的某个人帮助了我。我正在寻找的SIGNAL是sectionDoubleClicked(int)
答案 0 :(得分:4)
http://doc.qt.nokia.com/latest/qheaderview.html#sectionDoubleClicked
您可以通过QHeaderView
或QTableWidget::horizontalHeader()
获取QTableWidget::verticalHeader()
。