2012-02-24 227 views
0

我是PySide和Qt的新手,現在需要創建一個具有帶有樣式項目的樹視圖的應用程序。每個項目需要兩行文本(不同的樣式)和一個按鈕。許多項目都應該在視圖中,所以我選擇了QTreeView而不是QTreeWidget。現在我設法將簡單的文本項目(非風格)添加到QTreeView中,並且幾乎不知道如何在一個項目上放置多個小部件。您能否給我舉一個如何創建這樣的設計的例子?自定義QTreeView項目

我在互聯網上找到了一些與我想要的相似的示例,但它們都是C++,並且不清楚如何將代表和其他東西轉換爲Python。我現在很困惑這一切...

回答

1

我推薦你使用簡單的QTreeWidget和插入複雜的部件與setItemWidget。雖然Qt的widhets是外星人,他們沒有那麼重畫,而是:

  • 你不應該建立代表。
  • 你不應該處理事件(如果你要放置在視圖按鈕,並使用委託繪製它,你必須處理所有事件,如鼠標懸停焦點改變等,這是很多工作
+0

使用'setItemWidget'它可以設置一個小部件的項目。而如何有幾個QLabels和QPushButton在每個項目?應該有類似QPanel,但它不似乎是存在的。 – aplavin 2012-02-24 18:07:30

+0

@chersanya,首先,你可以爲每一列設置單獨的部件,那麼你的部件可能會非常複雜d內部結構。 – Lol4t0 2012-02-24 18:15:56

+0

@ Lol4to以及如何使我的小部件「非常複雜的內部結構」? – aplavin 2012-02-24 19:23:33