婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PyQt5 在QListWidget自定義Item的操作

PyQt5 在QListWidget自定義Item的操作

熱門標(biāo)簽:云南地圖標(biāo)注 南京crm外呼系統(tǒng)排名 汕頭電商外呼系統(tǒng)供應(yīng)商 crm電銷機器人 400電話 申請 條件 賓館能在百度地圖標(biāo)注嗎 鄭州智能外呼系統(tǒng)中心 電銷機器人 金倫通信 北京外呼電銷機器人招商

效果圖

自定義一個Item

新建一個QWidget對象

在QWidget內(nèi)添加Layout

在Layout內(nèi)添加要的控件

為QWidget設(shè)置Layout

新建一個QListWidgetItem并調(diào)整大小

為QListWidgetItem設(shè)置QWidget

創(chuàng)建布局

首先我們創(chuàng)建一個最基本的布局, 只有一個listWidget和一個pushButton

實現(xiàn)點擊button后在listWidget中添加數(shù)據(jù)

class Windows(QMainWindow, Ui_MainWindow):
 def __init__(self):
  super(Windows, self).__init__()
  self.setupUi(self)
  self.pushButton.clicked.connect(self.deal)
 def deal(self):
  # 準(zhǔn)備實現(xiàn)的功能
  pass
app = QtWidgets.QApplication(sys.argv)
windows = Windows()
windows.show()
sys.exit(app.exec_())

確定布局

可以看出此布局總體是一個橫向布局(QHBoxLayout), 再其右邊是一個縱向(QVBoxLayout), 下面的布局又是一個橫向布局(QHBoxLayout)

def get_item():
 # 總Widget
 wight = QWidget()
 # 布局
 layout_main = QHBoxLayout() # 總體橫向布局
 layout_right = QVBoxLayout() # 右邊的縱向布局
 layout_right_down = QHBoxLayout() # 右下的橫向布局
 layout_right.addLayout(layout_right_down) # 右下布局填充到右邊布局中
 layout_main.addLayout(layout_right) # 右邊布局填充入總布局
 wight.setLayout(layout_main) # 為Widget設(shè)置總布局

添加數(shù)據(jù)

{
 "ship_name": "胡德",
 "ship_country": "E國",
 "ship_star": "5",
 "ship_index": "1",
 "ship_photo": "1.png",
 "ship_type": "戰(zhàn)巡"
}
def get_item_wight(data):
 # 讀取屬性
 ship_name = data['ship_name']
 ship_photo = data['ship_photo']
 ship_index = data['ship_index']
 ship_type = data['ship_type']
 ship_country = data['ship_country']
 ship_star = data['ship_star']
 # 總Widget
 wight = QWidget()
 # 總體橫向布局
 layout_main = QHBoxLayout()
 map_l = QLabel() # 頭像顯示
 map_l.setFixedSize(40, 25)
 maps = QPixmap(ship_photo).scaled(40, 25)
 map_l.setPixmap(maps)
 # 右邊的縱向布局
 layout_right = QVBoxLayout()
 # 右下的的橫向布局
 layout_right_down = QHBoxLayout() # 右下的橫向布局
 layout_right_down.addWidget(QLabel(ship_type))
 layout_right_down.addWidget(QLabel(ship_country))
 layout_right_down.addWidget(QLabel(str(ship_star) + "星"))
 layout_right_down.addWidget(QLabel(ship_index))
 # 按照從左到右, 從上到下布局添加
 layout_main.addWidget(map_l) # 最左邊的頭像
 layout_right.addWidget(QLabel(ship_name)) # 右邊的縱向布局
 layout_right.addLayout(layout_right_down) # 右下角橫向布局
 layout_main.addLayout(layout_right) # 右邊的布局
 wight.setLayout(layout_main) # 布局給wight
 return wight # 返回wight

設(shè)置QListWidgetItem

for ship_data in YOUR_DATA:
 item = QListWidgetItem() # 創(chuàng)建QListWidgetItem對象
 item.setSizeHint(QSize(200, 50)) # 設(shè)置QListWidgetItem大小
 widget = get_item_wight(ship_data) # 調(diào)用上面的函數(shù)獲取對應(yīng)
 self.listWidget.addItem(item) # 添加item
 self.listWidget.setItemWidget(item, widget) # 為item設(shè)置widget

顯示效果:

全部代碼

import sys
import json
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
 """
 自動生成的代碼, 請不要修改
 """
 def setupUi(self, MainWindow):
  MainWindow.setObjectName("MainWindow")
  MainWindow.resize(455, 357)
  self.centralwidget = QtWidgets.QWidget(MainWindow)
  self.centralwidget.setObjectName("centralwidget")
  self.listWidget = QtWidgets.QListWidget(self.centralwidget)
  self.listWidget.setGeometry(QtCore.QRect(10, 10, 341, 341))
  self.listWidget.setObjectName("listWidget")
  self.pushButton = QtWidgets.QPushButton(self.centralwidget)
  self.pushButton.setGeometry(QtCore.QRect(360, 10, 81, 31))
  self.pushButton.setObjectName("pushButton")
  MainWindow.setCentralWidget(self.centralwidget)
  self.retranslateUi(MainWindow)
  QtCore.QMetaObject.connectSlotsByName(MainWindow)
 def retranslateUi(self, MainWindow):
  _translate = QtCore.QCoreApplication.translate
  MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
  self.pushButton.setText(_translate("MainWindow", "PushButton"))
class Windows(QMainWindow, Ui_MainWindow):
 def __init__(self):
  super(Windows, self).__init__()
  self.setupUi(self)
  self.pushButton.clicked.connect(self.deal)
 def deal(self):
  all_data = json.loads('[{"ship_name":"\u80e1\u5fb7","ship_country":"E\u56fd","ship_star":"5","ship_index":"1","ship_photo":"icon/1.png","ship_type":"\u6218\u5de1"},{"ship_name":"\u6d4b\u8bd5","ship_country":"E\u56fd","ship_star":"5","ship_index":"1","ship_photo":"icon/2.png","ship_type":"\u6218\u5de1"},{"ship_name":"\u6d4b\u8bd52","ship_country":"E\u56fd","ship_star":"5","ship_index":"1","ship_photo":"icon/3.png","ship_type":"\u6218\u5de1"},{"ship_name":"\u6d4b\u8bd53","ship_country":"E\u56fd","ship_star":"5","ship_index":"1","ship_photo":"icon/4.png","ship_type":"\u6218\u5de1"}]')
  def get_item_wight(data):
   # 讀取屬性
   ship_name = data['ship_name']
   ship_photo = data['ship_photo']
   ship_index = data['ship_index']
   ship_type = data['ship_type']
   ship_country = data['ship_country']
   ship_star = data['ship_star']
   # 總Widget
   wight = QWidget()
   # 總體橫向布局
   layout_main = QHBoxLayout()
   map_l = QLabel() # 頭像顯示
   map_l.setFixedSize(40, 25)
   maps = QPixmap(ship_photo).scaled(40, 25)
   map_l.setPixmap(maps)
   # 右邊的縱向布局
   layout_right = QVBoxLayout()
   # 右下的的橫向布局
   layout_right_down = QHBoxLayout() # 右下的橫向布局
   layout_right_down.addWidget(QLabel(ship_type))
   layout_right_down.addWidget(QLabel(ship_country))
   layout_right_down.addWidget(QLabel(str(ship_star) + "星"))
   layout_right_down.addWidget(QLabel(ship_index))
   # 按照從左到右, 從上到下布局添加
   layout_main.addWidget(map_l) # 最左邊的頭像
   layout_right.addWidget(QLabel(ship_name)) # 右邊的縱向布局
   layout_right.addLayout(layout_right_down) # 右下角橫向布局
   layout_main.addLayout(layout_right) # 右邊的布局
   wight.setLayout(layout_main) # 布局給wight
   return wight # 返回wight
  for ship_data in all_data:
   item = QListWidgetItem() # 創(chuàng)建QListWidgetItem對象
   item.setSizeHint(QSize(200, 50)) # 設(shè)置QListWidgetItem大小
   widget = get_item_wight(ship_data) # 調(diào)用上面的函數(shù)獲取對應(yīng)
   self.listWidget.addItem(item) # 添加item
   self.listWidget.setItemWidget(item, widget) # 為item設(shè)置widget
app = QtWidgets.QApplication(sys.argv)
windows = Windows()
windows.show()
sys.exit(app.exec_())

補充:pyqt5 QListWiget點擊item事件

我就廢話不多說了,大家還是直接看代碼吧~

from PyQt4.QtCore import QCoreApplication, Qt
from PyQt4.QtGui import QListWidget, QListWidgetItem, QApplication 
import sys 
class MyList(QListWidget):
 def __init__(self):
  QListWidget.__init__(self)
  self.add_items()
  self.itemClicked.connect(self.item_click)
 
 def add_items(self):
  for item_text in ['item1', 'item2', 'item3']:
   item = QListWidgetItem(item_text)
   self.addItem(item)
 
 def item_click(self, item):
  print item, str(item.text())
 
if __name__ == '__main__':
 app = QApplication([])
 myList = MyList()
 myList.show()
 sys.exit(app.exec_())

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • pyqt5 QListWidget的用法解析
  • PyQt5 QListWidget選擇多項并返回的實例
  • PyQt5入門之基于QListWidget版本實現(xiàn)圖片縮略圖列表功能

標(biāo)簽:文山 石家莊 昆明 錫林郭勒盟 西寧 懷化 梅州 浙江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PyQt5 在QListWidget自定義Item的操作》,本文關(guān)鍵詞  PyQt5,在,QListWidget,自定義,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PyQt5 在QListWidget自定義Item的操作》相關(guān)的同類信息!
  • 本頁收集關(guān)于PyQt5 在QListWidget自定義Item的操作的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    一区二区三区免费在线观看| 亚洲福利一区二区| 国产精品麻豆网站| 蜜桃视频免费观看一区| 欧美色视频一区| 国产欧美日韩不卡免费| 国产福利一区二区三区视频 | 日韩美女视频19| 欧美日韩精品系列| 国产99精品在线观看| 天堂精品中文字幕在线| 国产日本欧美一区二区| 欧美理论在线播放| 91九色02白丝porn| 成人午夜看片网址| 国内国产精品久久| 天天色 色综合| 亚洲欧洲www| 国产欧美精品一区| 日韩三级视频中文字幕| 日本久久一区二区| 懂色av一区二区在线播放| 免费高清在线视频一区·| 一区二区三区中文字幕| 国产精品私房写真福利视频| 亚洲大片在线观看| 欧美另类videos死尸| 激情综合网av| 日韩av中文字幕一区二区三区| 亚洲免费观看高清完整版在线| 中文天堂在线一区| 国产欧美一区二区三区沐欲| 日韩一级视频免费观看在线| 欧美精品日日鲁夜夜添| 在线观看av一区| 欧美三级视频在线播放| 欧美影院一区二区| 在线观看亚洲专区| 在线亚洲欧美专区二区| 91搞黄在线观看| 色综合久久88色综合天天 | 欧美色图第一页| 在线亚洲人成电影网站色www| 国产69精品久久777的优势| 国内精品伊人久久久久av影院| 日韩福利视频导航| 日韩激情视频在线观看| 免费观看一级欧美片| 日韩av一级片| 黑人巨大精品欧美一区| 欧美日韩一级视频| 麻豆视频观看网址久久| 亚洲欧美日韩国产一区二区三区| 日韩欧美久久久| 国产乱子轮精品视频| 午夜精品福利一区二区三区av| 国产亚洲女人久久久久毛片| 欧美日韩一二三| 色拍拍在线精品视频8848| 国产露脸91国语对白| 国产又黄又大久久| 久久九九99视频| 亚洲国产岛国毛片在线| 一区在线播放视频| 亚洲在线观看免费视频| 日韩国产在线一| 麻豆精品在线观看| 国产呦精品一区二区三区网站| 国产一区二区三区国产| 不卡av在线网| 欧美日韩精品三区| 日韩欧美成人午夜| 国产精品毛片无遮挡高清| 亚洲影视资源网| 麻豆91在线播放| 国产99一区视频免费| 色综合久久中文综合久久97| 欧美色男人天堂| 久久综合色婷婷| 亚洲少妇最新在线视频| 亚洲成在线观看| 激情都市一区二区| 色综合久久精品| 欧美成人福利视频| 亚洲欧美日韩小说| 蜜桃久久久久久| 91在线免费视频观看| 欧美一区二区播放| 国产精品免费丝袜| 免费在线观看日韩欧美| caoporm超碰国产精品| 91精品蜜臀在线一区尤物| 国产精品麻豆久久久| 免费的成人av| 91在线云播放| 久久新电视剧免费观看| 一区二区三区**美女毛片| 国产麻豆一精品一av一免费| 在线视频你懂得一区| 国产亚洲精久久久久久| 天堂影院一区二区| 99久久精品国产观看| 26uuu精品一区二区三区四区在线| 中文字幕日韩欧美一区二区三区| 六月婷婷色综合| 欧美亚洲国产一区在线观看网站| 久久久亚洲午夜电影| 天堂一区二区在线| 91麻豆精品一区二区三区| 国产午夜亚洲精品不卡| 波多野结衣的一区二区三区| 91香蕉视频mp4| 久久久不卡影院| 国产精品一区二区免费不卡| 777奇米成人网| 亚洲日本一区二区三区| 免费人成在线不卡| 欧美日韩国产小视频在线观看| 国产精品久久久久久久第一福利| 国产一区欧美一区| 国产精品麻豆网站| 久久亚洲精品小早川怜子| 欧美精彩视频一区二区三区| 免费成人深夜小野草| 欧美精品成人一区二区三区四区| 亚洲精品水蜜桃| 99精品视频在线免费观看| 中文字幕国产一区| 国产激情一区二区三区四区| 精品日韩欧美一区二区| 裸体在线国模精品偷拍| 欧美一级在线视频| 日韩在线观看一区二区| 欧美影片第一页| 五月激情综合婷婷| 欧美精品免费视频| 蜜臀va亚洲va欧美va天堂| 欧美日本国产一区| 日韩av不卡一区二区| 337p亚洲精品色噜噜狠狠| 首页亚洲欧美制服丝腿| 3d动漫精品啪啪1区2区免费| 日韩avvvv在线播放| 日韩视频在线一区二区| 日韩成人一区二区| 日韩三级av在线播放| 国产揄拍国内精品对白| 国产偷国产偷亚洲高清人白洁| 国产大片一区二区| 国产精品成人免费| 色欧美88888久久久久久影院| 一区二区三区自拍| 9久草视频在线视频精品| 蜜桃av一区二区| 亚洲国产一二三| 偷拍自拍另类欧美| 欧美日韩不卡在线| 奇米亚洲午夜久久精品| 精品美女一区二区| 成人午夜电影网站| 一区二区三区蜜桃| 91精品国产综合久久福利软件| 免费人成精品欧美精品| 国产日韩综合av| 99国产麻豆精品| 日本亚洲免费观看| 国产日韩视频一区二区三区| 99精品欧美一区| 天堂va蜜桃一区二区三区漫画版| 日韩三级视频在线看| 97精品超碰一区二区三区| 亚洲一区二区免费视频| 久久先锋影音av鲁色资源网| 成人app网站| 五月天欧美精品| 日本一区二区综合亚洲| 欧美视频日韩视频| 国产精品中文欧美| 一区二区三区四区在线播放 | 蜜臀精品一区二区三区在线观看| 成人国产精品免费观看动漫| 男女男精品视频| 国产综合久久久久久久久久久久 | www.欧美日韩| 日本道色综合久久| 欧美日韩国产电影| 在线综合视频播放| 欧美一级艳片视频免费观看| 日韩三级.com| 一区二区三区美女| 欧美性极品少妇| 另类欧美日韩国产在线| 国产精品日韩精品欧美在线| 欧美久久久影院| 91年精品国产| 老汉av免费一区二区三区| 成人欧美一区二区三区黑人麻豆 | 欧美日本高清视频在线观看| 成人免费视频一区| 日本美女一区二区|