#html #qt
#HTML #qt
Вопрос:
Я разработал приложение, в котором мне нужно сгенерировать слип, содержащий всю информацию, введенную пользователем. Чтобы показать ошибку, я создал новый экран виджета, на котором я использовал QTextBrowser для отображения информации.
Я использовал QTextBrowser-> SetHtml для отображения информации, форматирования информации и т.д.Информация включает в себя «жестко закодированные заголовки», а также «информацию, хранящуюся в базе данных sqlite».
В моей системе (ПК) он работает нормально, но когда я загрузил его в систему моих друзей (ПК), я получил пустой бланк. Это происходит в течение нескольких промахов, затем он начинает отображать промах.
Вот моя функция :-
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) amp;amp; (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);
}
Может кто-нибудь подсказать мне какое-нибудь решение этой проблемы??
Ответ №1:
Вы используете Windows? Если да, похоже, вам нужно скопировать каталог QTDIR / plugins / imageformats со своего компьютера на компьютер вашего друга.
Комментарии:
1. @llya спасибо за ваш ответ. Мне нужно подготовить отдельное приложение на основе клиента. Итак, я не могу скопировать этот каталог на клиентский компьютер. Могу ли я добавить эти плагины в файл .pro?? может дать мне больше информации об этом?? заранее спасибо
2. Прежде всего, убедитесь, что проблема в них . файлы dll. Если да, просто скопируйте каталог ‘imageformats’ рядом с вашим EXE-файлом (я уверен, что вы уже скопировали ‘платформы / qwindows. dll’ там). Или вам разрешено копировать только один EXE-файл?
3. @llya, спасибо за ваше руководство. Я пробовал с вашим решением. но проблема остается прежней. Он показывает пустой QTextBrowser.