QT: я унаследовал от QTreeView. Я унаследовал от QStandardItem. Как мне оформить вещи? - PullRequest
1 голос
/ 09 апреля 2010

Мои навыки Google, должно быть, подводят меня сегодня.

Я унаследовал от QTreeView, чтобы создать TreeView, который хранит QStandardItemModel вместо QAbstractItemModel. Я также унаследовал от QStandardItem создать класс для хранения моих данных в элементе по мере необходимости.

Я успешно вставил свой производный QStandardItem в мой производный QTreeView QStandardItemModel. Теперь проблема в том, что я не могу понять, как это сделать. Я знаю, что QTreeView имеет член setStyleSheet (QString), но я не могу заставить его работать. Это может быть так просто, как я не оформляю правильный атрибут. Любые указатели будут оценены. Спасибо.

Для ясности, вот мои классовые определения.

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

class StandardItemModelTreeView : public QTreeView
{
    public:

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

    QStandardItemModel* getStandardItemModel();
};

Я пробовал следующие таблицы стилей:

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';
}

1 Ответ

2 голосов
/ 10 апреля 2010

У вас почти было это QTreeView :: item должен быть один. Закладка Справочник по таблицам стилей Qt . Весь этот раздел очень хорошо читается, если вы занимаетесь этим

Шрифт содержимого QTreeView должен быть стилизован через сам QTreeview, например. QTreeview {font-size: 20pt;} а не через стиль элемента

...