Qt控件系列
QT日常控件分享。多多交流,共同进步。
mario_z
用科技改变生活,用科技创造生活。我现在为此奋斗不息,以后也必将为此奋斗不息~
展开
-
滑动界面之slidingSatckWidget
stack滑动窗口界面 窗口滑动界面相对于普通的stackWidget窗口管理多了一些动画效果,可以让界面看起来更加酷炫,如图;滑动窗口的原理&emsp滑动stackwidget的本质就是采用动画效果修饰widget的pos属性,同时移动前后的两个widget的位置,等动画完成之后,最后隐藏前一个widget。整个滑动的效果就达到啦。核心代码如下:void SlidingSta...原创 2019-12-24 16:15:55 · 393 阅读 · 0 评论 -
QT自定义的气泡类型提示框
由于项目需要,自定义了一个QT气泡显示的控件,参照了一部分网上的代码,自己也修改了许多,可支持四个不同的方向。不多说,上图:代码如下:const int SHADOW_WIDTH = 15; // 窗口阴影宽度;const int TRIANGLE_WIDTH = 15; // 小三角的宽度;...原创 2018-08-15 10:20:33 · 8559 阅读 · 3 评论 -
QT的TableView之自定义Model
1.介绍 QT在QT4的时候推出了Model-view视图结构,这种结构更好的将软件中数据和UI分层处理,从而达到提升显示效果。QT中其实已经自带一些基本功能的model,如下:以上的Model可以满足一般的基本需求,使用起来方便简单。比如QStandardItemModel既可以满足一般的Table的结构,也可以满足树状的结构。但是自带缺点是使用起来不够灵活,对数据的操...原创 2018-12-27 15:08:38 · 4686 阅读 · 0 评论 -
QT的TableView之自定义Delegate委托
1.介绍 在使用Table时,我们希望可以对table做更好的个性化处理。例如需要美化表格,在表格中添加控件等等。这时候就要用到Delegate了。说白了,Delegate就在在数据和界面之间增加了一层渲染,处理的功能。2.QStyledItemDelegate QT提供了两个基类QStyleDelegate 和QStyledItemDelegate为我们提供自定义...原创 2018-12-29 09:46:07 · 5247 阅读 · 0 评论 -
QT自定义之滑动开关
写了一个简单的滑动开关, 不多说,上图:代码如下:#ifndef SLIDERBUTTON_H#define SLIDERBUTTON_H#include <QWidget>#include <QMouseEvent>#include <QPaintEvent>#include <QPainter>#include &l...原创 2019-03-06 19:12:44 · 1771 阅读 · 1 评论 -
QT布局之QSplitter
最近研究了QSplitier的类,发现它做布局的效果很好。不多说,先上图:关于QSpliter,它可以通过insertWidget() 和addWidget()添加小部件到它的布局中去,并且可以通过拖动来改变这些小部件的大小。通过setSize可以设置所有小部件的大小。非常方便。下面就是源码, 有兴趣的同学可以研究下,如果有什么不对的地方请与我联系。splitter.h#ifndef...原创 2019-04-12 21:18:27 · 1443 阅读 · 0 评论 -
QT自定义Layout畸形布局
关于QT的自定义布局自定义的布局形状如下[外链图片转存失败(img-faixCPYI-1567399885458)(https://i.imgur.com/6OLPhkl.gif)]简介 以前觉得自定义布局很难,但是亲手写了一下发现也很简单。就是继承子类化Layout。实现几个虚函数,然后再setGeometry()这个函数中计算各个子item的位置从而实现布局效果就好了。实现 ...原创 2019-09-02 12:52:09 · 1170 阅读 · 1 评论 -
QT仿照Word的滑动菜单以及菜单下拉框(1)(滑动导航条)
仿照work的界面的滑动菜单(1)先上图:这个功能的实现包括两个重要的部分,第一个是菜单条的文字下面的滑动伸缩线。第二个是菜单下拉框的动画效果,以及下拉框的上浮,下沉的效果。MenuBar.h#ifndef MENU_BAR_H#define MENU_BAR_H#include <QWidget>#include <QPaintEvent>#in...原创 2019-06-04 09:40:59 · 2710 阅读 · 0 评论 -
仿照word的界面的滑动菜单(2)(伸缩下拉框)
这里要做两个处理:1.widget的上浮和下层 2.widget的伸缩动画。上浮和下层可以通过设置widget的属性来控制: if(isfloating) { m_is_floating = true; setWindowFlags(Qt::FramelessWindowHint | Qt::ToolTip); } e...原创 2019-06-04 10:18:08 · 791 阅读 · 0 评论