Qt之自定义界面(右下角冒泡)】的更多相关文章

简述 网页右下角上经常会出现一些提示性的信息,桌面软件中也比较常见,类似360新闻.QQ消息提示一样! 这种功能用动画实现起来很简单,这节我们暂时使用定时器来实现,后面章节会对动画框架进行详细讲解. 下面我们来实现一个右下角冒泡的功能. 简述 效果 实现原理 连接信号与槽 实现 效果 实现原理 显示 定时器启动,右下角缓慢弹出,逐渐改变位置 驻留 让界面停留一定的时间,时间过后自动关闭. 退出 可以直接点击关闭退出,也可以采用改变透明度的形式模糊退出. 连接信号与槽 m_pShowTimer =…
简述 网页右下角上经常会出现一些提示性的信息,桌面软件中也比较常见,类似360新闻.QQ消息提示一样! 这种功能用动画实现起来很简单,这节我们暂时使用定时器来实现,后面章节会对动画框架进行详细讲解. 下面我们来实现一个右下角冒泡的功能. 简述 效果 实现原理 连接信号与槽 实现 效果 实现原理 显示 定时器启动,右下角缓慢弹出,逐渐改变位置 驻留 让界面停留一定的时间,时间过后自动关闭. 退出 可以直接点击关闭退出,也可以采用改变透明度的形式模糊退出. 连接信号与槽 m_pShowTimer =…
简述 通过上一节内容,我们实现了窗体的缩放,功能很不错,但是很遗憾-不支持跨平台!如果对于多平台来说,这是一个硬伤,所以,我们急需要一个能够支持跨平台的实现方案. 在网上看到过很多不同的实现方式,多多少少会存在一些问题-要么融合度太高.要么不能很好地进行移动.缩放.基于前人的分享与总结,最后,我花了很长时间来完善.独乐乐不如众乐乐,既然纯开源-那就全部分享出来. 简述 效果 窗体缩放 实现 接口说明 使用方式 平台支持 效果 窗体缩放 实现 frameless_helper.h #ifndef…
简述 通过上一节内容,我们实现了窗体的缩放,功能很不错,但是很遗憾-不支持跨平台!如果对于多平台来说,这是一个硬伤,所以,我们急需要一个能够支持跨平台的实现方案. 在网上看到过很多不同的实现方式,多多少少会存在一些问题-要么融合度太高.要么不能很好地进行移动.缩放.基于前人的分享与总结,最后,我花了很长时间来完善.独乐乐不如众乐乐,既然纯开源-那就全部分享出来. 简述 效果 窗体缩放 实现 接口说明 使用方式 平台支持 效果 窗体缩放 实现 frameless_helper.h #ifndef…
简述 通过前两节内容,我们实现了自定义窗体的移动,以及自定义标题栏-用来显示窗体的图标.标题,以及控制窗体最小化.最大化.关闭. 在这之后,我们还缺少窗体的缩放-当鼠标移动到窗体的边框-左.上.右.下.左上角.左下角.右上角.右下角时候,鼠标变为相应的样式,并且窗体可以随着鼠标拖动而进行放大.缩小. 简述 效果 窗体缩放 实现 接口说明 效果 窗体缩放 实现 首先,设置无边框,用于实现自定义标题栏. // 设置无边框 setWindowFlags(Qt::FramelessWindowHint)…
简述 通过前几节的自定义窗体的学习,我们可以很容易的写出一套属于自己风格的界面框架,通用于各种窗体,比如:QWidget.QDialog.QMainWindow. 大多数窗体的实现都是采用控件堆积来完成的,只要思路清晰,再复杂的界面实现起来都游刃有余.下面我来列举一个由QMessageBox扩展的提示框-根据其源码实现思路来实现! 简述 效果 自定义提示框 实现 接口说明 二次封装 使用方式 源码学习 效果 自定义提示框 实现 message_box.h #ifndef MESSAGE_BOX…
简述 通过前两节内容,我们实现了自定义窗体的移动,以及自定义标题栏-用来显示窗体的图标.标题,以及控制窗体最小化.最大化.关闭. 在这之后,我们还缺少窗体的缩放-当鼠标移动到窗体的边框-左.上.右.下.左上角.左下角.右上角.右下角时候,鼠标变为相应的样式,并且窗体可以随着鼠标拖动而进行放大.缩小. 简述 效果 窗体缩放 实现 接口说明 效果 窗体缩放 实现 包含头文件与需要用到的库 #ifdef Q_OS_WIN #include <qt_windows.h> #include <Wi…
简述 通过上节内容,我们实现了自定义窗体的移动,但是我们缺少一个标题栏来显示窗体的图标.标题,以及控制窗体最小化.最大化.关闭的按钮. 自定义标题栏后,所有的控件我们都可以定制,比如:在标题栏中添加换肤.设置按钮以及其他控件. 简述 效果 自定义标题栏 实现 接口说明 使用方式 效果 自定义标题栏 实现 title_bar.h #ifndef TITLE_BAR #define TITLE_BAR #include <QWidget> class QLabel; class QPushButt…
简述 UI设计是指对软件的人机交互.操作逻辑.界面美观的整体设计.好的UI设计不仅是让软件变得有个性.有品位,还要让软件的操作变得舒适简单.自由,充分体现软件的定位和特点. 爱美之心人皆有之.其实软件界面就像工业造型一样,是产品的重要卖点.一个产品拥有美观的界面会给人带来舒适的视觉享受,拉近人与产品的距离,是建立在科学性之上的艺术设计. 检验一个界面的标准-既不是某个项目开发组领导的意见,也不是项目成员投票的结果,而是终端用户的感受. 所以,对于大多数商业软件或者专业产品来说,Qt的本地化样式显…
简述 通过前几节的自定义窗体的学习,我们可以很容易的写出一套属于自己风格的界面框架,通用于各种窗体,比如:QWidget.QDialog.QMainWindow. 大多数窗体的实现都是采用控件堆积来完成的,只要思路清晰,再复杂的界面实现起来都游刃有余.下面我来列举一个由QMessageBox扩展的提示框-根据其源码实现思路来实现! 简述 效果 自定义提示框 实现 接口说明 二次封装 使用方式 源码学习 效果 自定义提示框 实现 message_box.h #ifndef MESSAGE_BOX…
简述 通过上节内容,我们实现了自定义窗体的移动,但是我们缺少一个标题栏来显示窗体的图标.标题,以及控制窗体最小化.最大化.关闭的按钮. 自定义标题栏后,所有的控件我们都可以定制,比如:在标题栏中添加换肤.设置按钮以及其他控件. 简述 效果 自定义标题栏 实现 接口说明 使用方式 效果 自定义标题栏 实现 title_bar.h #ifndef TITLE_BAR #define TITLE_BAR #include <QWidget> class QLabel; class QPushButt…
简述 UI设计是指对软件的人机交互.操作逻辑.界面美观的整体设计.好的UI设计不仅是让软件变得有个性.有品位,还要让软件的操作变得舒适简单.自由,充分体现软件的定位和特点. 爱美之心人皆有之.其实软件界面就像工业造型一样,是产品的重要卖点.一个产品拥有美观的界面会给人带来舒适的视觉享受,拉近人与产品的距离,是建立在科学性之上的艺术设计. 检验一个界面的标准-既不是某个项目开发组领导的意见,也不是项目成员投票的结果,而是终端用户的感受. 所以,对于大多数商业软件或者专业产品来说,Qt的本地化样式显…
简介 "我们来自Qt分享&&交流,我们来自Qt Quick分享&&交流",不管你是笑了,还是笑了,反正我们是认真的.我们就是要找寻一种Hold不住的状态,来开始每一天的点滴分享,我们是一个有激情,有态度的部队. 但是我们还是我们,我们只是多了一份责任.古语有云:"不积跬步无以至千里,不积小流无以成江海",所以每一个伟大事务的产生都不是一蹴而就的.现在我们要立足眼下,把第一站放在地球,"<Qt 实战一二三>&quo…
简介 “我们来自Qt分享&&交流,我们来自Qt Quick分享&&交流”,不管你是笑了,还是笑了,反正我们是认真的.我们就是要找寻一种Hold不住的状态,来开始每一天的点滴分享,我们是一个有激情,有态度的部队,还在等什么,赶快加入吧! 但是我们还是我们,我们只是多了一份责任.古语有云:”不积跬步无以至千里,不积小流无以成江海”,所以每一个伟大事务的产生都不是一蹴而就的.现在我们需要立足眼下,把我们的第一站放在地球,”Qt实战一二三”应运而生. 这里,我们不扯淡,我们只谈技术…
简述 在自定义无边框.标题栏的界面中,需要自己实现最小化.最大化.关闭.窗体背景等功能.最小化.最大化.关闭等按钮设计及功能比较简单,这里就不多做介绍.今天主要介绍一下绘制背景的问题,主要实现自适应屏幕分辨率. 简述 实现 自适应方案 效果 源码 实现 先看一下UI设计的图(大小:1298*786): 自适应方案 如何自适应屏幕分辨率呢?下面是常用的一些方案: 为每个分辨率单独做一张图 将图片切分为九宫格形 在原图基础上进行实现 下面,我们分别对它们一一进行分析: 常用的分辨率很多,800*60…
Qt之自定义界面(实现无边框.可移动) Qt之自定义界面(窗体缩放-跨平台终极版) Qt之自定义界面(窗体缩放) http://blog.csdn.net/liang19890820/article/details/51833870…
最近想学习下Qt的自定义界面,因此花了点时间看了下QStyle,,,,结果很难受,这一块涉及到一大块GUI的具体实现方式,看得我很头疼.想看第一手资料并且英语功底不错的可以直接上qt文档,下面我会以易懂的方式简单讲解下. 1. Qt控件结构简介 首先我们要来讲讲GUI控件结构,这里以QComboBox为例: 一个完整的控件由一种或多种GUI元素构成: Complex Control Element. Primitive Element. Control Element. 1.1 Complex…
private void listView_MouseDoubleClick(object sender, MouseEventArgs e) { ListView listview = (ListView)sender; ListViewItem lstrow = listview.GetItemAt(e.X, e.Y); System.Windows.Forms.ListViewItem.ListViewSubItem lstcol = lstrow.GetSubItemAt(e.X, e.…
vue源码业余时间差不多看了一年,以前在网上找帖子,发现很多帖子很零散,都是一部分一部分说,断章的很多,所以自己下定决定一行行看,经过自己坚持与努力,现在基本看完了,差ddf那部分,因为考虑到自己要换工作了,所以暂缓下来先,ddf那块后期我会补上去.这个vue源码逐行分析,我基本每一行都打上注释,加上整个框架的流程思维导图,基本上是小白也能看懂的vue源码了. 说的非常的详细,里面的源码注释,有些是参考网上帖子的,有些是自己多年开发vue经验而猜测的,有些是自己跑上下文程序知道的,本人水平可能有…
通过QLabel创建类似冒泡方式的提示框(提示框显示位置为父类控件居中位置,具体可根据需要自行修改),鼠标停留提示框界面时查看信息,离开时自动淡化消失的效果: 头文件定义 #ifndef _TTipWidget_H_ #define _TTipWidget_H_ class TTipWidget :public QLabel { Q_OBJECT public: static TTipWidget &Instance(); void SetMesseage(const QString &s…
使用QSS自定义控件界面时,QT中控件QCombobox含有两个子控件drop-down和down-arrow.一般而言,当改变QCombox时,很多效果都会出来,但是,针对下拉按钮和下拉图标的自定义效果需要通过QComboBox::drop-down和QComboBox::down-arrow来定义. 下面我们将展示去除下拉按钮的下拉效果. QComboBox{ background:white; } QComboBox::drop-down { border:none; } QComboBo…
https://blog.csdn.net/zhangxiaoyu_sy/article/details/78925221…
Undo/Redo for Qt Tree Model eryar@163.com Abstract. Qt contains a set of item view classes that use a model/view architecture to manage the relationship between data and the way it is presented to the user. The separation of functionality introduced…
一.使用单文件封包工具 单文件封包工具,顾名思义就是将可执行文件及其相关依赖打包成单个可执行文件的工具. 这里推荐两个单文件封包工具:Enigma Virtual Box和BoxedApp Packer,都是免费的,度娘有下载. 这两个工具操作方法类似,这里以Enigma Virtual Box为例,打包一个我写的一个Qt程序. Qt程序的目录如下图所示,包括可执行文件及其依赖库. 打开Enigma Virtual Box,浏览封包的主程序,也就是上图中的DXManager.exe,如下图所示.…
mapx组件利用qt工具dumpcpp到处头文件和.cpp文件后将其加入到新建的qt项目中即可. 不过本人遇到问题知道今天偶然的解决了.记下来,以免忘记. demo的项目结构如下: 然后在.pro文件中添加QT += axcontainer 同时将maxFile.h添加到widget.h中 1>首先将项目清理一下,然后执行qmake,最后编译执行.报出如下错误: 为了解决这个c2512错误和c2248错误,本人试图重写这个类,但是始终解决不了c2248这个错误.所以索性先将这个类的执行体注释掉(…
安装完Qt OpenSource之后,在开始菜单目录下会有这几个东西. 其中[Designer]是用来设计窗口界面的程序.所以现在可以使用它来设计一个对话框.在[Qt Creator]中,[设计]这一项里也可以做界面的设计. 打开[Designer],会默认弹出[新建窗体],选择[Dialog without Buttons],这会新建出一个没有任何东西的对话框. [Dialog with Buttons Bottom]和[Dialog with Buttons Right]会创建出包含[确定]…
原文地址:http://blog.sina.com.cn/s/blog_a6fb6cc90101eoc7.html 阴影边框很常见,诸如360以及其他很多软件都有类似效果,了解CSS3的同学们应该都知道box-shadow,它就是来设定阴影效果的,那么Qt呢?看过一些资料,说是QSS是基于CSS2的,既然如此,box-shadow是基于CSS3的!那么Qt定然就用不了!     搜了一些资料,每张图片都做成阴影效果的固然不可能,直接舍弃(即使可以,也不采纳).如果实时的去画图,效率太低,最后选择…
导读 组合框是一个重要且应用广泛的组件,一般由两个子组件组成:文本下拉单部分和按钮部分.在许多既需要用户选择.又需要用户手动输入的应用场景下,组合框能够很好的满足我们的需求.如我们经常使用的聊天软件QQ登录框,便是一个很好的应用例子: 显然,用户既可以自己手动输入新的QQ号码,也可以在列表框中选择历史输入记录.对于提高用户体验是一个不错的手段.这篇博文重点讲述如何用QSS对组合框进行定制. 基本自定义 组合框的使用非常简单,为了加快叙述速度,我们直接在Qt Designer中拖一个QComboB…
导读 正如web前端开发中CSS(Cascade Style Sheet)的作用一样,Qt开发中也可以使用修改版的QSS将逻辑业务和用户界面进行隔离.这样,美工设计人员和逻辑实现者可以各司其职而不受干扰.更重要的是,由于界面和逻辑处理是分离的,低耦合性使得代码重构的工作量可以减少到最小.QSS和CSS的语法几乎一致,除了Qt自身增加的一些属性之外,其余的属性都可以在CSS2或CSS3中找到对应的属性.因此,如果曾经有过CSS的使用经验,那么QSS的使用将游刃有余.关于QSS的使用实践,打算撰写一…
http://doc.trolltech.com/main-snapshot/model-view-programming.html 介绍 Qt 4推出了一组新的item view类,它们使用model/view结构来管理数据与表示层的关系.这种结构带来的功能上的分离给了开发人员更大的弹性来定制数据项的表示,它也提供一个标准的model接口,使得更多的数据源可以被这些item view使用.这里对model/view的结构进行了描述,结构中的每个组件都进行了解释,给出了一些例子说明了提供的这些类…