pyqt listwidget 点击
自定义一个Item
新建一个QWidget对象
在QWidget内添加Layout
在Layout内添加要的控件
为QWidget设置Layout
新建一个QListWidgetItem并调整大小
为QListWidgetItem设置QWidget
创建布局
首先我们创建一个最基本的布局, 只有一个listWidget和一个pushButton
实现点击button后在listWidget中添加数据
class Windows(QMainWindow, Ui_MainWindow):
def __init__(self):
super(Windows, self).__init__()
self.setupUi(self)
self.pushButton.clicked.connect(self.deal)
def deal(self):
# 准备实现的功能
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设置总布局
{
"ship_name": "胡德",
"ship_country": "E国",
"ship_star": "5",
"ship_index": "1",
"ship_photo": "1.png",
"ship_type": "战巡"}
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
设置QListWidgetItem
for ship_data in YOUR_DATA:
item = QListWidgetItem() # 创建QListWidgetItem对象
item.setSizeHint(QSize(200, 50)) # 设置QListWidgetItem大小
widget = get_item_wight(ship_data) # 调用上面的函数获取对应
self.listWidget.addItem(item) # 添加item
self.listWidget.setItemWidget(item, widget) # 为item设置widget

龙武主宰
少年陆凡,因天赋低下,被女友背叛,受尽屈辱。幸得高人相助,脱胎换骨,从此脚踏天才,一路逆袭,终成万道龙皇。

茅山异术
中国众多道派中要说捉鬼降妖,最有名的莫过于茅山天师道,捉鬼天师之名深入人心。宝剑,符篆,咒语,八卦盘,四宝齐出神鬼辟易。且看茅山真传弟子如何驱鬼除妖。僵尸,异灵,厉鬼,降头,邪道祸乱一方,却在天师道面前纷纷落马授首,看更多精彩故事,尽在茅山鬼道……

冥婚难逃:鬼王夫君求放过
一纸婚配,花轿临门,她被迫嫁给鬼界之王杨柒,成了三界闻名的“鬼后”。世人皆知这鬼王手掌生死,令人闻风丧胆,但谁又知他爱妻如命,宠溺无度……洞房花烛夜,良辰美景时,本该谈天说地聊人生,可他却攻城略地无下限!某女这才发现其实他就是一只腹黑的大尾狼!偏偏肚子里还怀上了这只大尾狼的孩子……望着这俊美如神般的男人,她咬牙切齿:“杨柒,咱们友尽!”鬼王一笑,宠溺的拥她入怀:“你是我的夫人,哪来的友尽?”

无双小管家
出身平凡的最强兵王回归都市,给女上司当贴身保镖。斗强者、打土豪、做生意、拼学识,堪称全能小管家。有谁知道面对这么多要求的女上司该怎么办么?在线等,挺急的。

别闹,捉鬼呢
时移世易,鬼神的传说已经湮没在急速发展的高科技时代里,但是有明必有暗,有阳必有阴,总有这么一些人,可以突破阴阳的桎梏。在他们身上,发生着我们难以想象的精彩故事而这是一个学了一身三脚猫道术的小姑娘,磕磕绊绊在都市里慢慢成长的故事。她本以为自己能和师父一样,能凭着两三手道术过上“三年不开张开张吃三年”的美好日子。却没想,双胞胎姐姐因车祸丧生,为了照顾有心脏病的母亲,不得不以姐姐的身份继续生活下去。好不容易打算金盆洗手做一个安静的美女子,却出现了一个戾气冲天的鬼婴对着她一口一个妈咪。为了天下苍生,她忍痛认下了这个孩子。但孩子的父亲还是手动再见吧……颜值再高,来头再大,也拯救不了这惹人嫌的臭脾气。

让我做你的恒星
凌冉冉爱上青梅竹马的徐知林,分离八年之后得知徐知林已有恋人,为了忘掉徐知林,对相亲很抗拒的凌冉冉毅然决定去相亲,遇见儿科医生温言,两人开始正常的交往。与此同时,凌冉冉的邻居陈润之一直深爱着她,当凌冉冉得知温言家世显赫的同时却发现自己已在不知不觉中爱上了陈润之……如果她是月亮,那陈润之就是她的恒星,照亮自己,也灿烂着她。光阴似苒,他们仍旧恒久而坚定的运行,他们的爱,物不换星不移!如果陈润之是她的恒星,那温言就是流星,短暂而美丽。无论他飞向哪里,都是她最闪亮最温暖的记忆。她这一生最成功的事,就是有个叫温言的男人爱过她。

残王诱宠:绝世狂妃三小姐
她是二十一世纪古医特工,轮回之术逆世重生。一夕穿越,成为苏家废柴三小姐。灵根废脉、武修无为,身为苏家嫡系却被家族恶霸辣手摧花?凤凰涅槃,浴火重生!废柴觉醒,傲世为尊!一针在手神阻杀神魔阻屠魔,重生一世她经商道驭人心之术步步惊心。“宁可我负天下人,不可天下人负我。“未曾想,她早已被人盯作猎物他冷傲嗜血,轻狂神秘,却对这个可口的猎物,渐生情愫。“死妖孽,你起开!”某女手脚齐踹。某妖孽压低身子,“爽过了就不认账?那我们再来一次?”

再世之巅
两年前,她是丑女,我是男神;两年后,她是校花,我是屌丝。三天被打七次,我也屹立不倒!“你看,我以前能保护你,现在也能保护你。”——左飞两年后,左飞开始一段热血传奇!注:本故事纯属虚构,如有雷同,实属巧合,请不要与真实人物事件挂钩。