激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 對PyQt5中樹結構的實現方法詳解

對PyQt5中樹結構的實現方法詳解

2021-07-13 00:22husthgzjp Python

今天小編就為大家分享一篇對PyQt5中樹結構的實現方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

pyqt5中,樹的實現有兩種形式,其中較為簡單的是使用tree widget控件。

對于靜態的數據,實現樹結構可以直接在qt中拖入一個tree widget控件,然后右鍵點擊它,選擇編輯。

對PyQt5中樹結構的實現方法詳解

對PyQt5中樹結構的實現方法詳解

其中column是每一條數據有幾個數據項,item體現的是數據和數據之間是什么關系。

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

其中有一種可行的實現方法是,受限用sql對查到的數據按照樹從上到下的結構排序,然后用如下代碼實現:

?
1
2
3
4
5
6
7
8
9
10
11
a = ['1', '11', '12', '13', '2', '21', '22', '23']
# 你的數據按照
# 【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的空白處,出現信號和槽的編輯界面。

對PyQt5中樹結構的實現方法詳解

左邊是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文件中,實現信號和槽連接的代碼如下:

?
1
2
self.treewidget.itemclicked['qtreewidgetitem*','int'].connect(form.tree_item_click)
# 其中tree_item_click是自己定義的槽函數

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

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

item為qtreewidgetitem類。可以參照qt幫助文檔中的qtreewidgetitem類的說明,實現自定義的功能。

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

以上這篇對pyqt5中樹結構的實現方法詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/weixin_40910342/article/details/81711695

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 在线免费观看欧美 | 香蕉黄色网 | 免费毛片免费看 | 国产婷婷一区二区三区 | av在线直播观看 | 成人在线观看免费 | 手机av在线电影 | 国产艳妇av视国产精选av一区 | 精品国产91久久久久 | 啪啪毛片 | 九九热视频在线免费观看 | 婷婷一区二区三区 | 欧美成人毛片 | 黄色香蕉视频 | 99精品视频在线看 | 91精品国产91 | 成人午夜免费看 | 一级毛片在线观看免费 | 久久久成人精品视频 | 成人性生活视频在线观看 | 一区二区三区欧美在线观看 | 日本a级一区| 九艹在线 | 羞羞视频免费观看网站 | 男女羞羞视频在线观看免费 | 黑人日比视频 | 激情小说色 | av在线免费播放 | 日韩字幕在线观看 | 羞羞视频免费网站 | 久久骚| 黄www片| 国产精品久久久久久久久久尿 | 日本最新免费二区三区 | 欧洲a级片 | 美女视频在线观看黄 | 国产jjizz一区二区三区视频 | av在线免费播放网站 | 91精品国产一区二区三区动漫 | 国产成人精品免费视频大全办公室 | 黄色三级三级三级 |