首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

25.QT-模型视图

模型视图设计模式的核心思想 使模型(数据)与视图(显示)相分离 模型只需要对外提供标准接口存取数据,无需数据如何显示 视图只需要自定义数据的显示方式,无需数据如何组织存储 当数据发生改变时,会通过信号通知视图...当用户与视图进行交互时,会通过信号向模型发送交互信息  在QT中提供了以下几种预定义模型: ?...QAbstractListModel:用来创建一维列表模型 QStandardItemModel:用来存储定制数据的通用模型 QAbstractTableModel: 用来创建二维列表模型 常用的视图类层次结构...在Qt中,不管模型以什么结构组织数据,都必须为每个数据提供不同的索引值,使得视图能通过索引值访问模型中的具体数据 以QTreeView视图为例 QWidget w; QFileSystemModel...   7       设置模型数据的文本对齐(Qt::AlignmentFlag) Qt::BackgroundRole      8        设置模型数据的背景色(QBrush) Qt::ForegroundRole

1.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

26.QT-模型视图之自定义委托

在上一章学习 25.QT-模型视图 后,本章接着学习视图委托 ---- 视图委托(Delegate)简介 由于模型负责组织数据,而视图负责显示数据,所以当用户想修改显示的数据时,就要通过视图中的委托来完成...视图委托类似于传统的MVC设计模式里的Controller(控制器)角色 Model(模型) - 负责数据组织 View(视图) - 负责数据显示 Controller(控制器) - 负责用户输入,并处理数据...在模型视图中,会默认提供一个QStyledItemDelegate类,供用户编辑数据 也可以通过继承QItemDelegate父类,实现自定义委托功能 QAbstractItemDelegate类中的关键虚函数...我们以编辑某个数据项为例: 视图首先会调用createEditor()函数生成编辑器 调用updateEditorGeometry()函数设置编辑器组件大小 调用setEditorData()函数,将模型里的数据提取到编辑器中...当用户编辑完成后, 系统将会发送commitData信号函数 然后调用setModelData()函数,设置模型数据,以及setEditorData()函数,更新编辑器 视图最后发送closeEditor

2.1K20

Qt官方示例-标签对话框

这个例子展示了如何使用QTabWidget类实现标签对话框。   对话框为应用程序与用户通信提供了一种有效的方法,但是复杂的对话框会遇到这样的问题,即它们通常占用过多的屏幕区域。...通过在对话框中使用多个标签,可以将信息分为不同的类别,同时仍可访问。...标签对话框示例由一个TabDialog提供三个标签项的类组成,每个标签项包含有关特定文件的信息,以及两个标准按钮,用于接受或拒绝对话框的内容。...这样可以使对话框居中于应用程序主窗口的顶部。 TabDialog类实现   构造函数调用QDialog构造函数,并为指定的文件名创建QFileInfo对象。...安装目录找到: C:\Qt\{你的Qt版本}\Examples\{你的Qt版本}\widgets\dialogs\tabdialog 相关链接 https://doc.qt.io/qt-5/qtwidgets-dialogs-tabdialog-example.html

1.3K10

使用Qt Designer 设计对话框(一)

使用 Qt 设计师 可以通过拖动组件,所见即所得地创建应用程序的用户界面。从pip安装 pyqt5-tools 模块即可完成Qt Designer程序的安装。...Qt Designer 程序启动后的界面如下: ? 本篇讲解对话框的绘制,选择创建底部带“Ok”,“Cancel”按钮的对话框。 ?...Widget Box 中的部件类型依次是: 布局,站位弹簧,按钮,项目视图,项目布局,容器,输入部件 和 显示部件。...点击对话框(当前正在设计的窗口)的空白部分,再点布局按钮,就设置了窗口的总布局。若布局不太容易通过鼠标选择,可以在对象查看器里通过单击选择。...如,连接关闭按钮的点击信号和对话框的 “接收”(并关闭)槽。 ? 最后预览窗体(通过菜单Form->Priview,或快捷键 Ctrl+R) ,并检查所有的东西能否按照设想进行工作。

4.5K20

QT】图形视图、动画框架

Qt图形视图框架、动画框架 Qt提供了图形视图框架(GraphicsView Framework)、动画框架(The Animation Framework)、状态机框架(The State Machine...图形视图框架提供了基于图像项模型模型视图编程方法,主要由场景、视图和图形项这三部分组成,这三部分分别由QGraphicsScene、QGraphicsView、QGraphicsItem这三个类来表示...该框架是通过控制Qt的属性来实现动画的,可以应用在窗口的部件和其他QOBject对象上,也可以应用在图像视图框架中。...状态机框架 状态机框架提供一些类来创建和执行状态图,状态图为一个系统如何对外界进行反应提供了一个图形化模型,该模型通过定义一些系统可能进入的状态以及系统怎样从一个状态切换到另一个状态来实现的。...Qt的事件系统来驱动状态机。

1.4K30

CC++ Qt 标准Dialog对话框组件应用

Qt对话框分为两种形式,一种是标准对话框,另一种则是自定义对话框,在一般开发过程中标准对话框使用是最多的了,标准对话框一般包括 QMessageBox,QInputDialog,QFileDialog...这几种,这里我将总结本人在开发过程中常用到的标准对话框的使用技巧。...Qt框架下,常用的标准对话框有下面这几种: QMessageBox 提示信息框 QInputDialog 基本输入对话框(文本输入,整数输入,浮点数输入,单选框输入) QFileDialog 文件选择对话框...text.isEmpty()) { ui->plainTextEdit->appendPlainText(text); } } QFileDialog 对话框: 该对话框用于对文本的操作...,例如打开文件,保存文件,选择文件夹等,当点击选择后,对话框会自动提取出文件路径。

82920

QT应用编程: 设置QT标准对话框为中文字体

一、环境介绍 操作系统介绍:win10 64位 QT版本: 5.12.6 二、需要提前了解的知识 QT国际化支持: https://blog.csdn.net/xiaolong1126626497/article.../details/113970945 三、问题原因 QT自带的标准对话框QFontDialog、QColorDialog、QMessageBox默认的文字全是英文的,QLineEdit和QTextEdit...去QT官网下载对应版本的源码包,解压之后在源码包搜索qt_xxx.ts,中文对应的就是qt_zh_CN.ts文件。 2....下面图片是翻译之后的效果: 五、多个翻译文件如何加载的问题 在解决标准对话框为中文字体的时候,如果本来工程里就需要支持国际化,也就是说工程本来就有翻译文件需要加载, 这时又需要加载QT的翻译文件,这个问题如何解决...先说明,工程同一时刻只能加载一个翻译文件,为了能同时使用工程原来的翻译文件,也想使用QT的翻译文件,可以将两个ts文件手动合在一起,然后再生成一个新的qm文件即可解决。

1.5K30
领券