2
我目前正在研究用於各種應用的基本QTGui表。我想要的一個功能是能夠雙擊列標題並調用排序功能。我一直在網上查看文檔和各種帖子,但我並沒有完全理解整體思路。我知道我需要將doubleClicked信號連接到我的handleDoubleClick插槽,但它並不真正起作用。問題理解和處理QHeaderView信號
許多示例都提到創建自己的自定義類以及如何爲該類設置信號,但是當QHeaderView已經內置信號時,是否需要這樣做?有沒有辦法將內置信號連接到我的插槽?
這裏基本上是我所擁有的。
QHeaderView *headerView = mainTable->horizontalHeader();
headerView->setMovable(true);
headerView->setClickable(true);
QObject::connect(headerView, SIGNAL(sectionDoubleClicked()), headerView, SLOT(sortByHeader()));
void sortByHeader()
{
cout << "Double clicked";
}
解決: 阿濟斯的方法有效,但事實證明,我還需要傳遞參數的類型。所以這是一個語法錯誤。
所以它是這樣的
Class1* myclass = new Class1();
QObject::connect(headerView, SIGNAL(sectionDoubleClicked(int)), myclass, SLOT(sortByHeader(int)));
我試過了,但仍沒有運氣。 – Geeklat 2011-06-08 14:38:20
啊。原來我也需要傳遞參數類型 QObject :: connect(headerView,SIGNAL(sectionDoubleClicked(int)),myclass,SLOT(sortByHeader(int))); – Geeklat 2011-06-08 14:55:33
線索實際上是從參考中複製粘貼:) – swdev 2014-06-12 20:35:07