【QTdesigner】课时66.扩展的列表控件(QListWidget)【pyqt5+QTdesigner模式】

课程目录

  • 视频链接
  • 知识点扩充
  • 课程重点
  • 代码位置
  • 完整代码
  • 遇到的问题
  • 改写效果展示
  • 改写注意点
  • 改写代码(QTdesigner模式)

>>> 点击进入:pyqt5专栏<<<

老师原课件下载地址:
有积分的朋友,支持下我,打赏也OK。
不下载也可以,我每节课会吧代码贴出来


视频链接

P65课时66.扩展的列表控件(QListWidget)


知识点扩充

PyQt5高级界面控件之QListWidget(三)
【QTdesigner】课时66.扩展的列表控件(QListWidget)【pyqt5+QTdesigner模式】_第1张图片


课程重点

QListWidget 内部增加的函数功能
【QTdesigner】课时66.扩展的列表控件(QListWidget)【pyqt5+QTdesigner模式】_第2张图片
效果展示
【QTdesigner】课时66.扩展的列表控件(QListWidget)【pyqt5+QTdesigner模式】_第3张图片


代码位置

【QTdesigner】课时66.扩展的列表控件(QListWidget)【pyqt5+QTdesigner模式】_第4张图片


完整代码

'''

扩展的列表控件(QListWidget)

QListView
'''
from PyQt5.QtWidgets import *
import sys

class ListWidgetDemo(QMainWindow):
	def __init__(self, parent=None):
		super(ListWidgetDemo, self).__init__(parent)
		self.setWindowTitle("QListWidget 例子")
		self.resize(300, 270)
		self.listwidget = QListWidget()
		self.listwidget.addItem("item1")
		self.listwidget.addItem("item2")
		self.listwidget.addItem("item3")
		self.listwidget.addItem("item4")
		self.listwidget.addItem("item5")
		self.listwidget.itemClicked.connect(self.clicked)
		self.setCentralWidget(self.listwidget)
	def clicked(self,Index):
		QMessageBox.information(self,"QListWidget","您选择了:" + self.listwidget.item(self.listwidget.row(Index)).text())



if __name__ == "__main__":
	app = QApplication(sys.argv)
	win = ListWidgetDemo()
	win.show()
	sys.exit(app.exec_())


遇到的问题

在这里插入图片描述
这里虽然dir(Index)里面有data方法,但是调用无效,不知道对应的是哪里。但是text可以显示文字


改写效果展示

【QTdesigner】课时66.扩展的列表控件(QListWidget)【pyqt5+QTdesigner模式】_第5张图片


改写注意点

修改了视频中的调用方式,这样多简单
【QTdesigner】课时66.扩展的列表控件(QListWidget)【pyqt5+QTdesigner模式】_第6张图片

【QTdesigner】课时66.扩展的列表控件(QListWidget)【pyqt5+QTdesigner模式】_第7张图片

【QTdesigner】课时66.扩展的列表控件(QListWidget)【pyqt5+QTdesigner模式】_第8张图片


改写代码(QTdesigner模式)

# -*- coding:utf-8 -*-
'''
@Author: knocky
@Blog: https://blog.csdn.net/zzx188891020
@E-mail: [email protected]
@File: class66.py
@CreateTime: 2020/6/3 22:27
'''

import sys
from PyQt5.QtWidgets import QApplication,QMainWindow,QMessageBox
from PyQt5 import uic


class my_form(QMainWindow):
    def __init__(self):
        super().__init__()
        uic.loadUi('../ui_package/class66.ui', self)
        self.listwidget.itemClicked.connect(self.clicked)

    def clicked(self, Index):
        # self.listwidget.item(self.listwidget.row(Index)).text() 感觉这一串写的有点长。
        QMessageBox.information(self, "QListWidget", "您选择了:" + Index.text())


if __name__ == '__main__':
    app = QApplication(sys.argv)
    main = my_form()
    main.show()
    sys.exit(app.exec_())

你可能感兴趣的:(pyqt5)