QT: Eu herdei da QtreeView. Eu herdei de Qstandarditem. Como faço para estilizar os itens?

StackOverflow https://stackoverflow.com/questions/2610056

Pergunta

Minhas habilidades no Google devem estar me falhando hoje.

Eu herdei da QtreeView para criar uma TreeView que armazena um QstandardiTemmodel em vez de um QabStractEmmodel. Também herdei do QSTANDARDITEM para criar uma classe para armazenar meus dados em um item necessário.

Inseri com sucesso meu qstandarditem derivado no QStandardiTemmodel do meu Qtreeview derivado. Agora, o problema é que não consigo descobrir como estilizá -lo. Eu sei que o QtreeView possui um membro do SetStylesheet (QString), mas não consigo fazer funcionar. Pode ser tão simples quanto não estou estilizando o atributo correto. Quaisquer indicadores seriam apreciados. Obrigado.

Para maior clareza, aqui estão minha classe defs.

class SurveyTreeItem : public QStandardItem
{
public:
    SurveyTreeItem();
    SurveyTreeItem( const QString & text );
    ~SurveyTreeItem();
};

class StandardItemModelTreeView : public QTreeView
{
    public:

    StandardItemModelTreeView(QWidget* parent = 0);
    ~StandardItemModelTreeView();

    QStandardItemModel* getStandardItemModel();
};

Eu tentei as seguintes folhas de estilo:

StandardTreeView::Item
{
font: 87 12pt 'Arial Black';
}

StandardTreeView::QStandardItem
{
font: 87 12pt 'Arial Black';
}

QTreeView::QStandardItem
{
font: 87 12pt 'Arial Black';
}

QTreeView::Item
{
font: 87 12pt 'Arial Black';
}

QTreeView::SurveyTreeItem
{
font: 87 12pt 'Arial Black';
}

StandardTreeView::SurveyTreeItem
{
font: 87 12pt 'Arial Black';
}
Foi útil?

Solução

Você quase teve qtreeview :: item deve ser o único. marca páginas Referência de folhas de estilo QT. Essa seção inteira é uma leitura muito boa se você estiver fazendo esse tipo de coisa

A fonte do conteúdo de um QTreeView deve ser estilizado através do QTreeview por si só, por exemplo QTreeview {font-size: 20pt;} e não através do estilo do item

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top