官术网_书友最值得收藏!

1.1 列表控件QListWidget及其項(xiàng)QListWidgetItem

在PySide6中,使用QListWidget類表示列表控件,列表控件由一行多列構(gòu)成,每行稱為項(xiàng)。可以在列表控件中添加、刪除列表中的項(xiàng)。項(xiàng)(Item)為列表控件的基本單位。使用QListWidgetItem類表示列表控件的項(xiàng)。

1.1.1 列表控件QListWidget

在PySide6中,使用QListWidget類創(chuàng)建列表控件。QListWiget類是QListView類的子類,位于PySide6的QWidgets子模塊下。QListWidget類的構(gòu)造函數(shù)如下:

     QListWidget(parent:QWidget=None)

其中,parent表示父窗口或父控件。

QListWidget類的常用方法見(jiàn)表1-1。

表1-1 QListWidget類的常用方法

續(xù)表

在表1-1中,Qt.MatchFlags的枚舉值為Qt.MatchExactly、Qt.MatchFixedString、Qt.MatchContains、Qt.MatchStartsWith、Qt.MatchEndsWith、Qt.MatchCaseSensitive、Qt.MatchRegularExpression、Qt.MatchWildcard、Qt.MatchWrap、Qt.MatchRecursive。

Qt.DropAction的枚舉值為Qt.CopyAction(復(fù)制)、Qt.MoveAction(移動(dòng))、Qt.LinkAction(鏈接)、Qt.IgnoreAction(什么都不做)、Qt.TargetMoveAction(目標(biāo)對(duì)象接管)。

【實(shí)例1-1】 創(chuàng)建一個(gè)窗口,該窗口包含一個(gè)列表控件。要求在列表控件中顯示項(xiàng),設(shè)置背景色,代碼如下:

運(yùn)行結(jié)果如圖1-2所示。

圖1-2 代碼demo1.py的運(yùn)行結(jié)果

在PySide6中,可以使用Qt Designer在窗口中創(chuàng)建列表控件。

【實(shí)例1-2】 使用Qt Designer設(shè)計(jì)一個(gè)包含列表控件的窗口,向列表控件中添加比較流行的計(jì)算機(jī)編程語(yǔ)言。操作步驟如下:

(1)打開(kāi)Qt Designer軟件,創(chuàng)建一個(gè)Widget類型的窗口,如圖1-3所示。

圖1-3 創(chuàng)建的窗口

(2)將工具箱中的List Widget控件拖曳到主窗口,如圖1-4所示。

圖1-4 拖曳List Widget控件

(3)選中主窗口上的List Widget控件,右擊,在彈出的菜單欄中選擇“編輯項(xiàng)目”,此時(shí)會(huì)彈出一個(gè)“編輯列表窗口部件”對(duì)話框,如圖1-5和圖1-6所示。

圖1-5 右擊后彈出的菜單

(4)在“編輯列表窗口部件”對(duì)話框中單擊左下角的加號(hào)圖標(biāo)可以為列表控件添加項(xiàng),單擊左下角的減號(hào)圖標(biāo)可以刪除當(dāng)前項(xiàng)。添加完畢后,單擊“確定”按鈕,如圖1-7和圖1-8所示。

(5)將主窗口的布局設(shè)置為水平布局,將列表控件的字體設(shè)置為黑體,將字號(hào)設(shè)置為14,將列表控件的背景色設(shè)置為PaleGreen,如圖1-9所示。

(6)將主窗口的標(biāo)題修改為QListWidget,然后將設(shè)計(jì)的窗口文件命名為demo2.ui,并保存在D盤的Chapter1文件夾下,然后在Windows命令行窗口將demo2.ui文件轉(zhuǎn)換為demo2.py,操作過(guò)程如圖1-10所示。

圖1-6 “編輯列表窗口部件”對(duì)話框

圖1-7 為列表控件添加項(xiàng)

圖1-8 添加項(xiàng)的列表控件

圖1-9 修改屬性后的主窗口

圖1-10 將demo2.ui文件轉(zhuǎn)換為demo2.py

(7)編寫業(yè)務(wù)邏輯代碼,代碼如下:

運(yùn)行結(jié)果如圖1-11所示。

圖1-11 代碼demo2_main.py的運(yùn)行結(jié)果

在PySide6中,QListWidget類的信號(hào)見(jiàn)表1-2。

表1-2 QListWidget類的信號(hào)

1.1.2 QListWidgetItem類

在PySide6中,使用QListWidgetItem類表示列表控件中的項(xiàng)。QListWidgetItem類位于PySide6的QtWidgets子模塊下,其構(gòu)造函數(shù)如下:

     QListWidgetItem(listview:QListWidget=None,type:int=QListWidgetItem.Type)
     QListWidgetItem(text:str,listview:QListWidget=None,type:int=QListWidgetItem.Type)
     QListWidgetItem(icon:Union[QIcon,QPixmap],text:str,listview:QListWidget=None,type:int=
     QListWidgetItem.Type)

其中,listview表示列表控件;type的取值為QListWidgetItem.Type(默認(rèn)值,值為1)或QListWidgetItem.UserType(值為1000),QListWidgetItem.UserType也是用戶自定義類型的最小值;text表示項(xiàng)的文本;icon表示項(xiàng)的圖標(biāo)。

QListWidgetItem類的常用方法見(jiàn)表1-3。

表1-3 QListWidgetItem類的常用方法

在PySide6中,Qt.ItemFlags的枚舉值見(jiàn)表1-4。

表1-4 Qt.ItemFlags的枚舉值

【實(shí)例1-3】 創(chuàng)建一個(gè)窗口,該窗口包含一個(gè)列表控件、4個(gè)按鈕控件。這4個(gè)按鈕分別實(shí)現(xiàn)添加項(xiàng)、編輯項(xiàng)、刪除項(xiàng)、排序的作用,代碼如下:

運(yùn)行結(jié)果如圖1-12所示。

圖1-12 代碼demo3.py的運(yùn)行結(jié)果

1.1.3 典型應(yīng)用

【實(shí)例1-4】 創(chuàng)建一個(gè)窗口,該窗口包含一個(gè)列表控件。在列表控件中右擊會(huì)彈出上下文菜單,菜單命令包含添加、編輯、刪除、全選、反選、全不選,代碼如下:

運(yùn)行結(jié)果如圖1-13所示。

圖1-13 代碼demo4.py的運(yùn)行結(jié)果

主站蜘蛛池模板: 深水埗区| 封丘县| 修武县| 吉安县| 许昌市| 乡城县| 扎赉特旗| 辽阳市| 婺源县| 稻城县| 安阳县| 宣恩县| 柘荣县| 葫芦岛市| 读书| 平武县| 新沂市| 牡丹江市| 祁门县| 舞阳县| 麟游县| 梅州市| 古丈县| 永吉县| 石阡县| 长沙市| 泰顺县| 巴马| 济源市| 万州区| 长岭县| 新宁县| 竹北市| 东乡县| 乌苏市| 大石桥市| 武陟县| 江津市| 贵南县| 天祝| 基隆市|