qt5-MVC:数据可视化的层次揭秘

MVC模式原理

每一个程序都有其原理,我们学习过程中透过他们的原理,来了解他们的工作方向,将会使我们的学习变得无比简单。

揭秘数据层次顺序

  1. 建立格式布局
  2. 调用可视化功能
  3. 建立字符型列表模型
  4. 定义列表源数据列
  5. 把数据源列表加入列表模型
  6. 把列表模型加入可视化功能(可视化点击发射信号–激活消息盒子)
  7. 消息盒子槽函数,相当于列数数据的功能交互,完成数据消息功能调试
  8. 将可视化加入布局,相当于摆放到窗口内部
  9. 激活可视化布局,相当于把数据这块牌匾上面的红布揭开,正式对公众宣传开业。

消息槽函数
def clicked(self,item):
QMessageBox.information()—消息盒子
参数1:继承父类self
参数2:QListView—触发继承自QListView
参数3:盒子信息,信号列表索引item.row()
备注:
item—是列表的内容
.row()—是调用当前内容的显示行索引(0,1,2…)

程序源码

from PyQt5.Qt import *
import sys
app = QApplication([])
class ListView(QWidget):
    def __init__(self,parent=None):
        super(ListView,self).__init__(parent)
        self.setWindowTitle('QListView 例子')
        self.resize(300,270)
        layout = QVBoxLayout()
        listview = QListView()
        listmodel = QStringListModel()#字符列表:针对列表显示模型
        self.list = ['列表1','列表2','列表3']
        listmodel.setStringList(self.list)
        listview.setModel(listmodel)
        listview.clicked.connect(self.clicked) #发射一个item.row()索引数据给self.clicked
        layout.addWidget(listview)
        self.setLayout(layout) #布局生效语句,必须写完整,否则添加的可视化模板无法显示

    #点击弹出消息盒子,单击每一个列表项会有一个值存储到槽函数item中,item.row()方法会把对应项的索引数据显示出来
    def clicked(self,item):
        QMessageBox.information(self,'QListView','您选择了'+self.list[item.row()])

win = ListView()
win.show()
sys.exit(app.exec_())

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值