代码之家  ›  专栏  ›  技术社区  ›  San Jacinto

我继承了qtreeview。我继承了QStandarditem。我该如何设计这些项目的样式?

  •  1
  • San Jacinto  · 技术社区  · 14 年前

    今天我的谷歌技术一定不及格。

    我继承了qtreeview,创建了一个存储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 回复  |  直到 14 年前
        1
  •  2
  •   Harald Scheirich    14 年前

    您几乎拥有它qtreeview::item应该是它。书签 Qt Style Sheets Reference . 如果你在做这种事情的话,整个部分都是很好的读物。

    内容的字体 QTreeView 应该通过 QTreeview 本身,例如 QTreeview {font-size: 20pt;} 而不是通过物品的风格