Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Пытон от Сентябрь 27, 2013, 11:43



Название: PyQt4. QTextEdit. Требуется добавить в него формируемую питоном табличку.
Отправлено: Пытон от Сентябрь 27, 2013, 11:43
Получается только если в QTextEdit.append("<table><tr><td>Засунуть весь HTML-код формирующий таблицу<td></tr></table>")

А я пытался в цикле пробегая значения из строк модели (QSqlTableModel) добавлять каждое отдельным append.

myTextEdit.append("<table>")
for q in range(mymodel.rowCount()):
   myTextEdit.append("<tr>")
   myTextEdit.append("<td>")
   myTextEdit.append(mymodel.record(q).value("myfield"))
   myTextEdit.append("</td>")
   myTextEdit.append("</tr>")
myTextEdit.append("</table>")

Но таким образом TextEdit таблицу мне не формирует. Просто выдаёт всё подряд, включая закрывающие тэги, в новых строках.
Выходит, получится только сформировать текстовый файл с HTML-данными, а потом его всего разом и засунуть в TextEdit? Только так?


Название: Re: PyQt4. QTextEdit. Требуется добавить в него формируемую питоном табличку.
Отправлено: kambala от Сентябрь 27, 2013, 11:57
еще можно QTableWidget использовать :)


Название: Re: PyQt4. QTextEdit. Требуется добавить в него формируемую питоном табличку.
Отправлено: Пытон от Сентябрь 27, 2013, 12:28
Мне надо выдать таблицу на печать. Какой ещё TableWidget?


Название: Re: PyQt4. QTextEdit. Требуется добавить в него формируемую питоном табличку.
Отправлено: Пантер от Сентябрь 27, 2013, 12:38
В строке формируешь данные, а потом ее setHtml эдиту.


Название: Re: PyQt4. QTextEdit. Требуется добавить в него формируемую питоном табличку.
Отправлено: kambala от Сентябрь 27, 2013, 12:42
про печать нигде не сказано в первом сообщении.

а в чем проблема сформировать полную строку и засунуть ее в QTextEdit?


Название: Re: PyQt4. QTextEdit. Требуется добавить в него формируемую питоном табличку.
Отправлено: Пытон от Сентябрь 27, 2013, 13:30
Проблема в том, что в питоне строки - неизменяемые объекты.
str1 = str1 + 'траляля' не дополняет существующую строку, а создаёт новую строку полученную путём объединения двух строковых объектов 'траляля' и того на который раньше ссылалась ссылка str1.
Чего зря память транжирить. Я её и так растранжирю своими пока что неумелыми sql-запросами. :)

Написал уже всё через создание текстового файла, который потом разом помещается в QTextEdit.



Название: Re: PyQt4. QTextEdit. Требуется добавить в него формируемую питоном табличку.
Отправлено: kambala от Сентябрь 27, 2013, 14:52
в качестве хака можно добавлять все строки в массив, а потом сделать join