老师原课件下载地址:
有积分的朋友,支持下我,打赏也OK。
不下载也可以,我每节课会吧代码贴出来
视频链接
知识点扩充
课程重点
QListWidget 内部增加的函数功能
效果展示
代码位置
完整代码
'''
扩展的列表控件(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模式)
# -*- coding:utf-8 -*-
'''
@Author: knocky
@Blog: https://blog.csdn.net/zzx188891020
@E-mail: 188891020@qq.com
@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_())