PyQt5 樹視圖控件(QTreeWidget)的使用


總體介紹

  1. QTreeWidget類提供了一個使用預定義樹模型的樹視圖

  2. QTreeWidget類是一個十方方便使用的類,它提供了一個標准的Tree小部件,如下圖所示的界面

    • 該類基於Qt的Model / View架構,並使用默認模型來保存項目,每一個都是一個 QTreeWidgetItem
    • 所以是需要和 QTreeWidgetItem 樹節點控件 結合使用的
  3. 該樹可以包含一個標題,其中包含控件中每個列的部分。通過使用 setHeaderLabels()提供字符串列表來設置每個部分的標簽是最容易的

    • 但是可以使用QTreeWidgetItem構造自定義標頭並使用 setHeaderItem() 函數將其插入樹中
  4. 樹中的項目可以根據預定義的排序順序按列排序。如果啟用排序,則用戶可以通過單擊列標題來排序項目

    • 可以通過調用 setSortingEnabled() 來啟用或禁用排序
    • isSortingEnabled() 函數指示是否啟用排序

  1. 小案例
from PyQt5.Qt import *

app = QApplication([])
window = QWidget()
window.resize(320, 450)
window.move(300, 300)

treewidget = QTreeWidget(window)
treewidget.resize(300, 400)
treewidget.move(10, 10)

treewidget.headerItem().setText(0, '列1')
treewidget.headerItem().setText(1, '列2')
treewidget.headerItem().setText(2, '列3')

root = QTreeWidgetItem(treewidget)
root.setText(0, "A測試")
root.setText(1, "B測試")
root.setText(2, 'C測試')

root1 = QTreeWidgetItem(root)
root1.setText(0, "A測試-1")
root1.setText(1, 'A測試-2')
root1.setText(2, 'A測試-3')

root2 = QTreeWidgetItem(root)
root2.setText(0, 'B測試-1')
root2.setText(1, "B測試-2")
root2.setText(2, "B測試-3")

root3 = QTreeWidgetItem(root)
root3.setText(0, 'C測試-1')
root3.setText(1, "C測試-2")
root3.setText(2, "C測試-3")

root.addChild(root1)
root.addChild(root2)
root.addChild(root3)

window.show()
app.exec_()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM