2013-07-16 10 views
1

Я занимаюсь борьбой с html и css в QTextBrowser в течение последних двух дней в PySide.Как заполнить QTextBrowser одной таблицей в Qt?

Мое намерение состоит в создании экрана телевизора, такого как экран, для отображения основного текста в центре и некоторой дополнительной информации с правой стороны и, возможно, с некоторым сообщением об ошибке в нижней части экрана. Я не уверен, что таблица - это правильный путь.

Я хочу знать, как использовать html и css для получения таблицы, которая охватывает 100% в обоих направлениях. У меня теперь есть проблема с высотой таблицы. В соответствии с Qt doc Supported HTML Subset, table поддерживает следующие атрибуты: border, bgcolor (имена цветов Qt или #RRGGBB), ячейки, ячейка, ширина (абсолютная или относительная) и высота.

Однако, когда я указываю высоту примерно так: table{ width: 100%; height: 100% } в CSS или инлайн вроде этого: <table border="1" height:100%>. Ничего не работает.

Любая помощь очень ценится.

My table currently look like this

ответ

1

Вы смотрели в использовании QGridLayout?

У этого есть много отличных функциональных возможностей для заполнения пространства виджетами в нужном месте.

У вас есть большой контроль над растяжкой, процентами, фиксированными, минимальными, максимальными размерами.

В каждой ячейке макета сетки вы помещаете виджет, который вы планируете использовать.

Для вас это звучит так, как будто большинство из них будут QLabel. Если будет какой-то прокручиваемый текст, вы можете использовать QTextEdit или QTextDocument или QTextBrowser.

Надеюсь, что это поможет.

+0

Я знаю QGridLayout. С QGridLayout я должен предопределить, какие виджеты должны быть там. Причина, по которой я предпочитаю QTextBrowser, - более эффективное использование области. Скажем, я знаю, что обычные msgs и ошибки не будут отображаться вместе, поэтому я мог бы использовать одно и то же пространство для отображения одного из них в зависимости от контекста. – foresightyj

+0

Вам не нужно знать, что будет в вашем макете заранее. Вы можете поместить 10 виджетов в одно и то же место и скрыть большинство из них и показать те, которые вы хотите. Это действительно мощно, но есть кривая обучения. Для большинства библиотек GUI обычно используется нечто вроде макетов. http://qt-project.org/doc/qt-4.8/layout.html Теперь вам понадобится еще несколько минут, чтобы понять, но вы поблагодарете себя позже. – phyatt

+0

Возможно, я слишком много задавал из HTML и CSS-функций из TextBrowser. Я откажусь от попыток и использования того, что вы предложили. Большое спасибо. – foresightyj

Смежные вопросы