Как установить нижнюю границу, используя css в QTextBrowser? - PullRequest
0 голосов
/ 21 января 2020

Предположим, у меня есть окно QT (использующее Pyside2, например PyQT5) со следующим виджетом:

import sys

from PySide2.QtWidgets import QApplication, QMainWindow, QTextBrowser

app = QApplication(sys.argv)

main_window = QMainWindow()
html_string = """
<style>
td { border-bottom: 1px solid #000000; color: blue }
</style>
<table>
  <tr>
    <td>1</td>
    <td>2</td>
  </tr>
  <tr>
    <td>3</td>
    <td>4</td>
  </tr>
</table>
"""
text_browser = QTextBrowser()
text_browser.setHtml(html_string)
text_browser.setReadOnly(True)

main_window.setCentralWidget(text_browser)

main_window.show()

exit_code = app.exec_()
sys.exit(exit_code)

Я ожидаю, что виджет отобразит таблицу с нижними границами. Примерно так:

expected

(изображение: таблица с нижними границами).

Но я получаю это:

actual

(изображение: таблица без границ).

Документация предполагает, однако, что стили границ, использующие css, поддерживаются в ячейках таблицы.

  • Примечание : использование встроенного стиля, например <td style="border-bottom: 1px solid #000000">, не имеет значения.
  • Примечание2 : я пытаюсь получить только нижнюю границу, поэтому установка <table border="1"> не дает желаемого результата.

У кого-нибудь есть Идея о том, можно ли вообще этого достичь, и если да, то как?

1 Ответ

0 голосов
/ 22 января 2020

Чтобы ответить на мой собственный вопрос:

Я использовал PySide2-5.13.0 с shiboken2-5.13.0. После обновления их обоих до 5.14.0 теперь он работает как положено.

...