最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

對PyQt5中樹結構的實現(xiàn)方法詳解

 更新時間:2019年06月17日 11:01:16   作者:husthgzjp  
今天小編就為大家分享一篇對PyQt5中樹結構的實現(xiàn)方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

樹的實質是很多條數(shù)據(jù)按照一定的內在關系,分層級顯示出來。因此每一條數(shù)據(jù)包括數(shù)據(jù)項和相互關系。數(shù)據(jù)項就對應了樹中的column,而相互關系對應的是應該顯示在哪一個條目下。

PyQt5中,樹的實現(xiàn)有兩種形式,其中較為簡單的是使用Tree Widget控件。

對于靜態(tài)的數(shù)據(jù),實現(xiàn)樹結構可以直接在Qt中拖入一個Tree Widget控件,然后右鍵點擊它,選擇編輯。

其中column是每一條數(shù)據(jù)有幾個數(shù)據(jù)項,Item體現(xiàn)的是數(shù)據(jù)和數(shù)據(jù)之間是什么關系。

對于我們需要從數(shù)據(jù)庫中查出來的數(shù)據(jù),我么需要根據(jù)實際的數(shù)據(jù)進行排列,確定一個樹的每一級有多少個條目。

其中有一種可行的實現(xiàn)方法是,受限用SQL對查到的數(shù)據(jù)按照樹從上到下的結構排序,然后用如下代碼實現(xiàn):

a = ['1', '11', '12', '13', '2', '21', '22', '23']
# 你的數(shù)據(jù)按照
# 【root,child1,child11,child12,child13,child2,child21,child22】
# 這種順序排列
for i in range(len(a)):
  if len(a[i]) == 1 :
    root = QtWidgets.QTreeWidgetItem(self.treeWidget)
    root.setText(0,a[i])
   elif len(a[i]) == 2 :
    child = QtWidgets.QTreeWidgetItem(root)
    child.setText(0,a[i])

用上述代碼得到的就是一個僅僅只有顯示功能的樹。

一般情況下,我們希望我們點擊樹的某一個條目,能夠有相應的操作。

進入到信號和槽的編輯界面,左鍵點擊Tree Widget,拖動到Form的空白處,出現(xiàn)信號和槽的編輯界面。

左邊是Tree Widget的信號的列表,右邊是我們自定義的槽,可以點擊Edit進行增加和刪除。

Tree Widget的信號說明可以參考QT的幫助文檔。如下是itemClicked信號的說明:

[signal] void QTreeWidget::itemClicked(QTreeWidgetItem *item, int column)

This signal is emitted when the user clicks inside the widget.

The specified item is the item that was clicked. The column is the item's column that was clicked. If no item was clicked, no signal will be emitted.

經過上述編輯之后,ui文件生成的py文件中,實現(xiàn)信號和槽連接的代碼如下:

self.treeWidget.itemClicked['QTreeWidgetItem*','int'].connect(Form.tree_item_click)
# 其中tree_item_click是自己定義的槽函數(shù)

槽函數(shù)的參數(shù)與信號的參數(shù)要相同,或者更少。

def tree_item_click(self,item,n):
    print(item.text(n))

item為QTreeWidgetItem類??梢詤⒄誕T幫助文檔中的QTreeWidgetItem類的說明,實現(xiàn)自定義的功能。

總結:本文提供了一種樹結構的實現(xiàn),樹的某個條目被點擊之后的響應的實現(xiàn)。更多的是提供了一種PyQt相關資料的查詢方法。通過對QT幫助文檔的查詢,可以指導PyQt的應用。

以上這篇對PyQt5中樹結構的實現(xiàn)方法詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 淺談Python中的數(shù)據(jù)類型

    淺談Python中的數(shù)據(jù)類型

    Python很重要的的那幾個數(shù)據(jù)類型:字符串,列表,字典,元組,經常有網友問他們之間重要的區(qū)別的是什么?能否舉幾個例子來說明下!下嘛我們就來探討下。
    2015-05-05
  • 十個常見的Python腳本詳細介紹及代碼舉例

    十個常見的Python腳本詳細介紹及代碼舉例

    這篇文章主要給大家介紹了十個常見的Python腳本的相關資料,包括批量重命名文件、下載網頁圖片、發(fā)送郵件通知、讀取和寫入CSV文件、爬取網頁數(shù)據(jù)、自動化測試、圖像處理、數(shù)據(jù)可視化以及創(chuàng)建簡單的Web應用,需要的朋友可以參考下
    2024-11-11
  • 解決pip?install報錯:Cannot?connect?to?proxy問題

    解決pip?install報錯:Cannot?connect?to?proxy問題

    這篇文章主要介紹了解決pip?install報錯:Cannot?connect?to?proxy問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Python PIL庫讀取設置圖像的像素內容方法示例

    Python PIL庫讀取設置圖像的像素內容方法示例

    這篇文章主要為大家介紹了使用Python PIL庫Image模塊中的getpixel和putpixel方法讀取設置圖像的像素內容實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • python中的round()函數(shù)用法詳解

    python中的round()函數(shù)用法詳解

    這篇文章主要給大家介紹了關于python中round()函數(shù)用法的相關資料,round()函數(shù)是Python內置函數(shù)之一,用于對數(shù)字進行四舍五入操作,需要的朋友可以參考下
    2023-08-08
  • python 讀取、寫入txt文件的示例

    python 讀取、寫入txt文件的示例

    這篇文章主要介紹了python 讀取、寫入txt文件的示例,幫助大家更好的利用python 處理文件,感興趣的朋友可以了解下
    2020-09-09
  • PyCharm更改字體和界面樣式的方法步驟

    PyCharm更改字體和界面樣式的方法步驟

    這篇文章主要介紹了PyCharm更改字體和界面樣式的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • python關于調用函數(shù)外的變量實例

    python關于調用函數(shù)外的變量實例

    今天小編就為大家分享一篇python關于調用函數(shù)外的變量實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python訪問本地deepseek示例【含deepseek本地部署】

    Python訪問本地deepseek示例【含deepseek本地部署】

    這篇文章主要介紹了Python訪問本地deepseek功能,結合實例形式分析了使用Ollama本地部署deepseek以及python訪問本地deepseek的過程,需要的朋友可以參考下
    2018-06-06
  • 對numpy中軸與維度的理解

    對numpy中軸與維度的理解

    下面小編就為大家分享一篇對numpy中軸與維度的理解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04

最新評論

正镶白旗| 缙云县| 大港区| 琼中| 鞍山市| 鹤庆县| 固阳县| 迁西县| 汕尾市| 威宁| 阳新县| 宝坻区| 卢龙县| 乐平市| 普安县| 香格里拉县| 高尔夫| 宁城县| 大同县| 灵宝市| 滨海县| 古丈县| 米易县| 桐乡市| 乳源| 疏勒县| 西乌| 布尔津县| 买车| 崇阳县| 南陵县| 通渭县| 奉节县| 金山区| 信宜市| 兴和县| 玉山县| 台东县| 百色市| 宕昌县| 赣榆县|