Стиль html интегрированной Qstring

У меня есть объект QSting:

 QString someString = "<a href='link'>some text</a>"

и объект QLabel:

QLabel someLabel.

с этим текстом:

someLabel.setText(someString);

Я установил свойство для QLabel:

someLabel.setProperty("class","someID"), 

и в CSS-документе установите стиль для этого ярлыка следующим образом:

 #someID 
 { 
    // some style
 }

Но стиль из CSS не применяется к тексту Label. Это установило синий подчеркнутый стиль по умолчанию от css.

Вопрос: Как установить стиль из CSS?

2 ответа

Вы можете попробовать установить таблицу стилей через setStyleSheet() метод.

Примеры можно найти здесь.

Важное различие заключается в том, что есть две совершенно разные системы стилей, которые влияют на то, что QLabel делает:

  1. CSS-таблицы стилей, установленные для виджета через setStyleSheet() метод.

    В этих таблицах стилей # выбирает по id объекта - его название. Итак, вы должны установить имя объекта, а не свойство класса:

    someLabel.setObjectName("someId");
    

    Тогда #someId селектор будет применяться к someLabel,

  2. Атрибуты стиля CSS, применяемые к содержимому форматированного текста, отображаемого надписью. Они могут быть предоставлены через линию style атрибут, например <span style="font-size: 20px">FOO</span>, <style> элемент в <html> также поддерживается, но внешние таблицы стилей не поддерживаются - поэтому таблица стилей должна находиться в пределах <html>, Все селекторы CSS 2.1 поддерживаются. Например,

    <html><style type="text/css">em {color: red}</style>
      <body><em>URGENT!</em></body>
    </html>
    
Другие вопросы по тегам