当前位置: 首页 > news >正文

ppt网站源码做导购型网站

ppt网站源码,做导购型网站,手机特殊网站,网站的优化外包MVC模式 MVC模式(Model-View-Controller,即模型-视图-控制器模式),是一种软件设计模式,将逻辑、用户界面、数据分离的模式。 PySide2中列表、表格等可以使用该模式。大体为:视图(View)、数据模型(Model)和委托(Delegate)。 Models: 基类为QAbstractItemModel。 …

MVC模式

MVC模式(Model-View-Controller,即模型-视图-控制器模式),是一种软件设计模式,将逻辑、用户界面、数据分离的模式。

PySide2中列表、表格等可以使用该模式。大体为:视图(View)、数据模型(Model)和委托(Delegate)。

Models:

  • 基类为QAbstractItemModel。
  • 两个标准模型为:QStandardItemModel、QFileSystemModel。
  • 其他模型还有QStringListModel,QSqlQueryModel、QSqlTableModel、QSqlRelationalTableModel等。

Views:

  • 基类为QAbstractItemView。
  • 主要视图有列表(QListView)、表格(QTableView)、树结构(QTreeView)。

Delegates:

  • 基类为QAbstractItemDelegate。
  • 默认的delegate实现为QStyledItemDelegate。
  • 其他还有QItemDelegate,区别是QStyledItemDelegate使用当前样式绘制item。

参考:Model/View Programming — Qt for Python

列表

简单的列表可以使用QListWidget实现。复杂一些的列表需要使用MVC模式。

这里举例为列表视图(QListView)、模型(QStandardItemModel)、以及从QStyledItemDelegate继承的Delegate。注:QStandardItemModel在PySide2.QtGui 模块中。

具体操作、各控件的属性和方法查看官方文档。PySide2和PySide6差不太多,都可以参考。PySide2.QtWidgets — Qt for Python,PySide6.QtWidgets - Qt for Python

创建列表视图和数据模型:

自定义mywindow类作为主窗口,继承于QMainWindow。

from PySide2.QtWidgets import QApplication, QMainWindow, QListView
from PySide2.QtGui import QStandardItemModelclass myWindow(QMainWindow):def __init__(self):super().__init__()# 创建列表视图和数据模型self.listview = QListView(self)              # 列表视图self.model = QStandardItemModel()            # 数据模型self.listview.setModel(self.model)           # 设置视图和模型的关联# 将列表视图设为主窗口的中央部件,并设置主窗口标题self.setCentralWidget(self.listview)self.setWindowTitle('QListView-QStandardItemModel Example')if __name__ == '__main__':app = QApplication()window = myWindow()window.show()app.exec_()

 设置列表视图:

class myWindow(QMainWindow):def __init__(self):...# 设置列表视图# listview.setSelectionMode(QListView.ExtendedSelection)    # 允许多选self.listview.setSelectionMode(QListView.SingleSelection)   # 允许单选self.listview.setAlternatingRowColors(True)                 # 交替行颜色# self.listview.setEditTriggers(QListView.NoEditTriggers)   # 禁止编辑self.listview.setSpacing(10)                                # 设置行间距self.listview.setAutoScroll(True)                           # 自动滚动条

往数据模型中添加数据:

from PySide2.QtGui import QStandardItemclass myWindow(QMainWindow):def __init__(self):...listdata = ['Python', 'QT', 'PySide2', 'MVC', 'Item 5']# 往数据模型中添加数据for x in self.listdata:item = QStandardItem(x)item.setCheckable(True)             # 设置为可选中,前有勾选框self.model.appendRow(item)

列表视图添加上下文菜单:

在列表各项点击右键弹出菜单(上下文菜单)进行相应的便捷操作,例如:

  • 若有选中项,则可右键点击进行插入数据、删除数据、上移/下移数据、追加数据、清空列表等操作 。
  • 若是空列
http://www.dtcms.com/a/529736.html

相关文章:

  • 【开题答辩全过程】以 餐饮连锁店管理系统的设计与实现为例,包含答辩的问题和答案
  • Maya Python入门: 节点列表 ls()
  • B样条曲线节点消去判断方法介绍
  • 网站开发工程师是做什么的wordpress整站密码
  • 西部数码网站管理助手卸载安卓app自己开发
  • 佛山网站开发公司wordpress文章模板下载
  • 东莞市建设企业网站服务机构专业app网站建设
  • 蒋一侨《披荆斩棘2025》主持之旅收官:养成系主持的破界成长
  • RAID技术
  • 网站建设与管理是什么意思漳州哪里做网站
  • 福州网站建设哪里有金蝶erp软件
  • 浙江省网站备案百度推广入口官网
  • 栈(Stack)详解与模拟实现
  • 哪里有服务好的网站建设天猫商城网站设计分析
  • 网站中英文转换怎么做网站建设属于什么
  • 招聘网站可以做劳务派遣吗宁波网站搭建
  • 提供网站推广公司电话手机网站建站视频教程
  • 上海企业网站建设公司九江网站建设制作
  • 菏泽做网站的公司wordpress白屏问题
  • Egg.js集成Swagger API文档实战
  • wordpress站点地图样式巫山那家做网站厉害
  • matlab学习
  • 免费创建虚拟网站邢台123网站模板
  • 国外做网站推广汕头seo建站
  • 什么网站做博客好品牌logo设计理念介绍
  • 好的交互网站app拉新推广平台渠道
  • 衡阳网站建设公司定制专业网站
  • AIGG人工智能生态及学习路线和应用领域
  • 第3题 无重复字符的最长子串
  • 免费网站的软件公众号推广方案