自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 Qt系列文章之 QAbstractItemModel(上)

上一篇文章对Qt MVC框架下的模型类进行大致介绍,本文基于QAbstractItemModel来开发第一个用户模型类,重点关注各个接口的实现。QAbstractItemModel用户类需要集成基类QAbstractItemModel来开发自己的数据模型,一种方法就是按照之前的方式新建一个CPP类,基类选择QAbstractItemModel,然后在代码之中依次对每个需要实现的函数进行重载定义和实现;不过这样做会比较麻烦,而且由于模型虚方法很多,容易出错和遗漏。Qt开发器提供了更好的方法帮助用户快速开发

2020-09-22 16:02:29 3392

原创 Qt系列文章之 Qt Model Class

Qt Model ClassQt提供了一些列相互继承的Model类体系,Qt的Model类是对用户数据进行体系化封装并提供统一操作接口的一大类模块。Qt提供的模型类十分多,大致可以分为三种:不可实例化的抽象基类、代理模型类和可实例化模型类。其中QStringListModel和QFileSystemModel是特定场景使用的高级封装模型。一般的模型分为如下三种,List模型,表格模型和树模型。这三种模型都可以基于抽象基类QAbstractItemModel进行继承来开发。当然不论是那种模型,都是基于基

2020-09-22 13:42:32 679

原创 Qt系列文章之 Model/View 框架

上一篇文章介绍了如何使用QMenu创建鼠标菜单及其和槽函数的关联,本文开始介绍Qt中十分重要的Model/View 框架。Model/View 框架MVC是交互式系统开发中十分重要的体系,MVC 由三种对象组成。模型是应用程序对象,视图是其在屏幕上的呈现,控制器定义了用户界面对用户输入的反应方式。 在MVC之前,用户界面设计往往会将这些对象整合在一起。 MVC 使它们解耦以增加灵活性和重用性。在Qt中也包含这三个要素,分别是模型类、视图类和代理类。三者一起构成了Qt的Model/View 框架。 (如下

2020-09-21 22:46:50 316

原创 Qt系列文章之 右键菜单QMenu(下)

上一篇文章介绍了如何在用户自定义表格窗体中触发菜单窗体,这一篇文章介绍如何将菜单中的Action和槽函数关联起来。菜单QAction关联槽函数首先需要定义每个动作对应的槽函数,一共定义了三个动作,需要在头文件对三个对应的槽函数进行定义。三个槽函数只希望在用户窗体内部调用,因此将其定义为私有属性:private slots: void addOneRowSlot (); //为表格添加一行槽函数 void removeOneRowSlot (); //删除表格一行槽函数

2020-09-21 22:45:21 611

原创 Qt系列文章之 右键菜单QMenu(上)

上一篇文章介绍了自定义用户窗体并提升到ui文件中的操作流程,本文介绍用户界面上常用的右键菜单栏的创建。右键菜单QMenu用户界面鼠标交互是十分常见的人机交互形式,大部分窗体软件都具备类似右键鼠标出现一个菜单栏,用户可选择需要的操作动作。本文基于上一文的场景,介绍如何在一个表格窗体中右键出现一个用户可以选择动作的菜单栏。由于右键动作只是针对表格窗体,必然这个菜单栏也需要在用户自定义窗体中进行开发,作为用户窗体属性的一部分。首先在用户窗体的头文件之中包含需要的两个头文件:#include <QMe

2020-09-17 19:30:33 2613 2

原创 Qt系列文章之 自定义控件并提升到ui文件

上一篇文章介绍Qt中的一个基本事件QMouseEvent,此文介绍如何基于现有控件类来设计自己的控件并将其提升到界面中的控件之上。自定义控件类上一篇文章中使用鼠标事件来捕获界面鼠标输入信息,但是当将鼠标放到表格窗体上进行点击时并没有任何反应。那是因为表格窗体是一个独立的窗体对象,每个窗体对象都有自己的鼠标事件,因此如果要在表格窗体上操作鼠标,需要对表格窗体进行单独的事件函数定义。这样做的方法是基于原来的QTableWidget自定义用户窗体类。在Qt项目中新建一个C++ Class,输入一个自定义的用

2020-09-11 09:23:37 1408

原创 Qt系列文章之 mousePressEvent

上一篇文章介绍QTabWidget的使用技巧。本文开始介绍Qt最常用的事件之一QMouseEvent。鼠标事件 mousePressEvent鼠标事件是Qt中十分重要的人机交互形式。鼠标事件包括很多内容,此处先介绍最基本的mousePressEvent事件函数。如前期文章所示,Qt中的大部分事件函数都已经提供了函数接口,我们只需要在具体项目类中对这些事件函数进行具体实现即可。打开Qt的widget帮助文档,可以找到mousePressEvent的函数定义如下所示:mousePressEvent是一

2020-09-10 22:04:51 16054 2

原创 Qt系列文章之 QTabWidget

上一篇文章介绍如何对QMessgeBox进行使用。本文紧接上文内容继续对Qt的窗体文件开发介绍。一般主界面会有很多控件和交互区域;如果把所有的控件都放在一个界面全部显示,整个界面就会显得非常臃肿繁琐。那么使用分页式的表格窗体布局就能将不同类型的控件布局到不同的窗体之中,再根据需要选择即可。Qt提供多种叠加窗体布局,如QStackedWidget、QToolBox和QTabWidget等。本文主要介绍QTabWidget的使用,其他窗体使用方式类似。翻页式表格窗体 QTabWidgetQTabWidg

2020-09-08 10:00:10 5573

原创 Qt系列文章之 QMessageBox

上一篇文章介绍了如何使用QDataStream来实现对界面信息的二进制序列化储存和读入操作;采用的是关闭窗口就默认保存界面信息,其实有的时候我们不一定非要对当前版本的信息进行保存,此时可以给用户弹出一个信息对话框让用户选择是否保存配置信息到文件。信息对话框 QMessageBox信息对话框是非常常用的界面元素,Qt的实现方式是QMessageBox。QMessageBox的帮助文档读者可以参考Qt的帮助手册:QmessageBox的属性和方法很多,可以按照普通的类来实例化对象,然后调用对象。不过一般

2020-09-08 09:52:15 684

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除