2013-10-28 58 views
0

我無法檢測qtwebkit qwebview中的單擊元素。hitTestContent無法在QtWebkit中的文本中返回任何內容

不知道爲什麼,但在尋找的屬性時,我得不到任何回報。我的文檔

void APP_Orders::contextMenuEvent(QContextMenuEvent *event) 
{ 
     QWebHitTestResult hit = page()->mainFrame()->hitTestContent(event->pos()); 
     QWebElement hitElement = hit.element(); 
     QString ctx = hitElement.attribute("ctx","none"); 
     while(ctx == "none") 
     { 
      hitElement = hitElement.parent(); 
      ctx = hitElement.attribute("ctx","none"); 
     } 


     qDebug() << ctx; 
} 

在我的文檔中的文字,當點擊,我有身體CTX屬性。 無論我點擊哪裏,我都會在調試中得到body的ctx屬性,這是預期的行爲,但是當我點擊文本時,它看起來不在文檔中......應用程序在無限循環後崩潰。即使當我看着xml內容或父母,祖父母grangranparents xml內容始終是一個空字符串...

任何想法爲什麼?

回答

1

好的,一位同事發現了這個解決方法。如果有人需要它共享它...

void APP_Orders::contextMenuEvent(QContextMenuEvent *event) 
{ 
     QWebHitTestResult hit = page()->mainFrame()->hitTestContent(event->pos()); 
     QWebElement hitElement = hit.element(); 
     QString ctx = hitElement.attribute("ctx","none"); 
     if(ctx == "") 
     { 
      hitElement = hit.enclosingBlockElement(); 
      ctx = hitElement.attribute("ctx","none"); 
     } 
     while(ctx == "none") 
     { 
      hitElement = hitElement.parent(); 
      ctx = hitElement.attribute("ctx","none"); 
     } 


     qDebug() << ctx; 
} 
相關問題