我的Google技巧今天一定會讓我失望。QT:我從QTreeView繼承。我從QStandardItem繼承。我如何設置項目的風格?
我已經從QTreeView繼承來創建一個存儲QStandardItemModel而不是QAbstractItemModel的TreeView。我也從QStandardItem繼承來創建一個類來存儲我的數據在一個項目中是必要的。
我已經成功地將我的派生QStandardItem插入到我的派生QTreeView的QStandardItemModel中。現在的麻煩是,我無法弄清楚如何設計它。我知道QTreeView有一個setStyleSheet(QString)成員,但我似乎無法得到它的工作。這可能很簡單,因爲我沒有設計正確的屬性。任何指針將不勝感激。謝謝。
爲了清楚起見,這裏是我的類defs。
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'; }
請粘貼你傳遞給'setStyleSheet'的字符串。 – 2010-04-09 19:05:05
@Kaleb,我現在將它粘貼。我最初離開了它,因爲我知道我輸入的內容不起作用。我會展示我嘗試過的一切。 – 2010-04-09 19:09:16
我實際上已經嘗試在設計器中使用父類來對其進行樣式設計,並且我已將所有這些代碼轉換爲QString()中的單行代碼。我不確定我在做什麼錯誤,因爲它似乎適用於我的其他組件(例如QPushButton和QTreeWidget)。 – 2010-04-09 19:15:30