2014-06-26 63 views
1

我開發了一個應用程序,我需要生成一個包含用戶輸入的所有信息的Slip。爲了顯示該單據,我創建了一個新的小部件屏幕,我使用QTextBrowser顯示信息。QTextBrowser SetHtml隨機給出空白屏幕

我已經使用QTextBrowser-> SetHtml以顯示信息,格式化該信息etc.The信息包括「硬編碼的標題」以及「數據庫中存儲的信息源碼」。

它在我的系統(PC)上運行正常,但是當我將它上傳到我的朋友系統(PC)時,我得到了一張空白紙。它發生幾次滑倒,然後開始顯示滑動。

這裏是我的功能: -

void PrintRecieptInfo::createHtml() 
{ 
    htmlString.clear(); 

    const QStringList childGroup = settings->childGroups(); 

    if (childGroup.length() < MAXGROUPINRECIEPTSETTINGS){ 
     return; 
    } 

    initRecieptInfo(); 

    htmlString = "<table align='center' border='yes' width='450'>"; 

    if (rItem[1].status){ 
     if ((rItem[0].status) && (rItem[0].text != "")){ 
      htmlString.append("<tr><th colspan = '5'><font size='2'><img src='" +  rItem[0].text + "'>" + rItem[1].text + "</th></tr>"); 
     } 
     else { 
      htmlString.append("<tr><th colspan = '5'><font size='1'>" + rItem[1].text + "</th></tr>"); 
     } 
    } 

    if (rItem[2].status){ 
     htmlString.append("<tr><th colspan = '5'><font size='1'>" + rItem[2].text + "</th></tr>"); 
    } 

    if (rItem[3].status){ 
     htmlString.append("<tr><th colspan = '5'><font size='1'>" + rItem[3].text + "</th></tr>"); 
    } 

    if (rItem[4].status){ 
     htmlString.append("<tr><th colspan = '5'><font size='1'>" + rItem[4].text + "</th></tr>"); 
    } 

    htmlString.append("<tr><td colspan='5'><hr></td></tr>"); 

    for (int i = 5 ; i < MAXMEMBER; i++){ 

     if (rItem[i].status){ 
      htmlString.append("<tr><td width='80'>" + rItem[i].title + "</td><td width='80'>" + rItem[i].text + "</td><td width='50'></td>"); 

      int tempIndex = i+1; 


      while(!rItem[tempIndex].status){ 
       tempIndex++; 
       if (tempIndex > MAXMEMBER){ 
        break; 
       } 
      } 
      if (tempIndex < MAXMEMBER){ 
       htmlString.append("<td width='80'>" + rItem[tempIndex].title + "</td><td width='80'>" + rItem[tempIndex].text + "</td>"); 
       htmlString.append("</tr>"); 
      } 

      i = tempIndex; 
     } 
    } 

    htmlString.append("<tr><th colspan='5'><hr></th></tr>"); 
    htmlString.append("<tr><th></th></tr>"); 
    htmlString.append("<tr><td></td><td></td><td></td><td></td><td align='right'>Operator Signature</td></tr>"); 

    htmlString.append("</table>"); 
    ui->printSlip_textBrowser->setHtml(htmlString); 

} 

任何人都可以指導我對這個問題的一些解決方案?

回答

0

您使用的是Windows嗎?如果是的話,這聽起來像你需要從你的電腦複製QTDIR/plugins/imageformats目錄到你朋友的電腦。

+0

@llya感謝您的回覆。我需要準備一個基於客戶端的獨立應用程序。所以,我不能將這個目錄複製到客戶端PC上。我可以在.pro文件中添加這些插件嗎?可以給我更多的信息呢?在此先感謝 – skg

+0

首先,檢查問題出在這些.dll文件中。如果是的話,只需在你的.exe文件附近複製'imageformats'目錄(我相信你已經在那裏複製'platforms/qwindows.dll')。或者您允許只複製一個.exe文件? – Ilya

+0

@llya,感謝您的指導。我試着用你的解決方案。但問題依然如此。它顯示空白的QTextBrowser。 – skg