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

韶关住房和城乡建设网站无锡网站seo顾问

韶关住房和城乡建设网站,无锡网站seo顾问,设计导航网,福建志佳建设工程发展有限公司网站目录 多元素控件介绍 QListWidget QTableWidget QTreeWidget 多元素控件介绍 多元素控件表示这个控件中包含了很多的元素,元素可能指的是字符串,也可以指的是更加复杂的数据结构、图片等等 Qt 中提供的多元素控件有: QListWidgetQListViewQTableW…

目录

多元素控件介绍

QListWidget

QTableWidget

QTreeWidget


多元素控件介绍

多元素控件表示这个控件中包含了很多的元素,元素可能指的是字符串,也可以指的是更加复杂的数据结构、图片等等

Qt 中提供的多元素控件有:

  • QListWidget
  • QListView
  • QTableWidget
  • QTableView
  • QTreeWidget
  • QTreeView

上述前两个表示列表,中间两个表示表格,后两个表示树形

xxWidget vs xxView 的区别:

  • xxView 是更底层的实现
  • xxWidget 是基于 xxView 封装而来的
  • 此处 xxView 是 MVC 结构的一种典型实现
    M model 数据
    Vview视图 (界面)
    C controller 控制器 数据和视图之间的业务流程

此处 xxView 只是负责实现了视图,不负责数据如何存储表示,更不负责数据和视图之间的交互,因此如果使用 xxView,就需要程序员自己实现 model 和 controller 的部分,就比较麻烦

xxWidget 基于 xxView,同时把 model 和 controller 都帮我们实现好了,拿过来就可以使用,人家提供了功能很方便的 api,让我们直接用

  • xxView:使用起来更麻烦一些,但是可以根据情况来自由 diy,实现更复杂的功能
  • xxWidget:使用比较方便,但是功能比较有限

QListWidget

使用 QListwidget 能够显示一个纵向的列表

核心属性:


核心方法:

  • 列表中的每个元素/每一项就称为是一个 ltem,更具体的说,是通过 QListWidgetltem 类表示的
  • addItem 默认在末尾插入,insertItem 可以指定在第几行插入,row就表示插入完毕后新的元素在第几行

核心信号:


图形化界面的方式拖动 ListWidget、输入框 LineExit、两个 pushButton:

接着初始化 ListWidget,有两种方式:

第一种是图形化界面中,右键 QListwidget选择编辑项目,就可以直接添加内容

第二种是通过代码的方式,在构造函数中添加:


下面设置新增和删除两个按钮的槽函数:

效果如下,初始是三个内容:

如果输入内容,点击新增,就会默认新增到末尾(因为代码中使用的是 addItem):

选中左边列表的 Python,点击删除,就会删除掉:

也可以完善 ListWidget 的槽函数,每次选中时打印此次和上一次选中的内容:

运行程序:


QTableWidget

使用 QTablewidget 表示一个表格控件,一个表格中包含若干行,每一行又包含若干列
表格中的每个单元格,是一个 QTableWidgetItem 对象

核心方法:


核心信号:


核心方法:


图形化界面的方式创建:

并将这四个按钮的 objectName 设置好:


表格中输出数据的设置,与 QListWidget 一样,既可以使用图形化界面的方式,也可以使用代码的方式

如果当前表格中的数据是固定的完全就可以通过图形化的方式来进行编辑
但是实际开发中,很多时候数据是从文件/网络来加载的,此时通过图形化编辑不合适

下面使用代码的方式进行设置:

运行程序:

下面完成四个按钮的槽函数:

运行程序,初始为:

点击新增一行:

选中4和5行,点击删除选中行:

输入框中输入年级,并点击新增一列:

选中年级那一列,点击删除选中列:


QTreeWidget

使用 QTreeWidget 表示一个树形控件,里面的每个元素,都是一个 QTreeWidgetItem
每个QTreewidgetItem 可以包含多个文本和图标,每个文本/图标为一个列

可以给 QTreewidget 设置顶层节点(顶层节点可以有多个),然后再给顶层节点添加子节点,从而构成树形结构

QTreeWidget 控件虽然是树形结构,但是这个树形结构,没有体现出根节点,是从根节点的下一层子节点开始计算的,所以根节点的下一层子节点称为 topLevelItem

QTreeWidget 可以理解为 QTableWidget 的进化版本

  • QTableWidget 固定一行中有很多列
  • QTreeWidget 它是一个树形结构,树形结构中的每一个结点又可以包含多个列

QTreeWidget 核心方法:


QTreeWidget 核心信号:


QTreeWidgetItem核心属性:


QTreeWidgetItem 核心方法:


图形化界面的方式创建 tree Widget、输入框、三个按钮

并将按钮的 objectName 改为:

下面就需要初始化数据了,也是有两种方式

第一种,右键编辑项目

如下所示:

点击确定:

此时运行程序:

上述的 1 表示根节点的名字,可以手动修改


但是实际开发中,很多时候数据是从文件/网络来加载的,此时通过图形化编辑不合适,所以就需要使用
第二种,代码的方式

在构造函数中添加代码: 

此时运行程序,与刚刚的效果一样:


下面实现三个按钮的功能:

pushButton_insertTopLevelItem:

pushButton_insertItem:

pushButton_deleteItem:


上述这几个控件相关的操作,数据都是在内存中保存的,无论在界面上做任何操作,重新运行程序,之前的数据就都没了

如果要想让数据能够重启也不丢失,就需要编写更多的代码,把内存存储的数据获取到,写入到文件中,并且在下次运行的时候从文件加载数据 


Qt之多元素控件到此结束

http://www.dtcms.com/wzjs/261520.html

相关文章:

  • 珠海网站建设 超凡科技app推广工作是做什么的
  • 司机找事做那个网站靠谱南宁企业官网seo
  • 现在手机网站用什么做外链推广是什么意思
  • 游戏策划要学什么500强企业seo服务商
  • 网站首页html网站软件下载app
  • 怎么做用其他网站仿制一个网站图片优化网站
  • 男人女人做邪恶的事网站网络推广公司北京
  • 网站的记住密码功能怎么做怎样精准搜索关键词
  • 域名注册网站的域名哪里来的怎么建立网站?
  • 中国建设银行青岛分行网站太原seo外包服务
  • wordpress 三站合一百度推广营销方案
  • 静态网站被同行使用国际新闻最新消息中国
  • 网站空间服务商查询代写文案平台
  • 自已建网站微信登录北京优化推广
  • 灵宝网站建设关键词搜索工具
  • seo教程网站seo任务平台
  • 哪些公司用.cc做网站长沙网络推广哪家
  • 淄博网站制作营销石家庄网站建设排名
  • 买网站模板珠海网站seo
  • 关于做花茶网站的策划书百度如何精准搜索
  • 禄劝彝族苗族网站建设网站top排行榜
  • 旅游电子商务网站建设与研究seo新手入门教程
  • 如何衡量一个网站的价值接广告推广的平台
  • 宝山武汉阳网站建设百度搜索关键词排名靠前
  • 免费网站建设垂询186 6159 6345秦皇岛seo优化
  • 电信网络服务商广州网站优化公司如何
  • c2c网站设计南京百度seo代理
  • 郑州汉狮做网站网络公司短视频营销策略
  • 永康网站建设制作seo教程网站优化
  • 喀什地区建设局网站自媒体发布平台有哪些