Qt QDateEdit下拉日历的样式设计
QDateEdit样式设计
最近做了一个用到QDateEdit的项目,涉及到对这个控件进行设计的方面,对于我这个新手来说,我属实是有点摸不着头脑,这个嵌套了几层。但是还是在谷歌上找到了一些代码,解决了这些个问题,可能百度上有类似的东西,我也是copy的,但是我在百度上搜到的都就只是一个简简单单的代码,并没有任何的注释,导致摸不着头脑,所以就想自己来分享一下,也是对自己遇到的记录一下。
QDateEdit
这个的样式表设计比较简单
/* 这个是正常状态*/
QDateEdit
{
background-color: rgba(0,0,255,1);
color: rgba(255, 255, 255, 1);
}
/*这个是你选中的状态*/
QDateEdit:focus
{
border-color: rgba(255,0,0,1);
border-style: inset;
border-width: 5;
}
这个是样式表内容

这里是对QDateEdit的样式表部位分析


接下来是重头戏,
QCalendarWidget
在QDateEdit的下拉日历就是这个控件,这个控件是由其他一些控件组成的,所以比较复杂。我主要是参考了几个博文,在这里首先感谢。
QSS QCalendarWidget
Qt Forum
Stack overflow
这几个都帮助我从这个QCalendarWidget的泥潭里面走出来,挺感谢的。
下面是我的一些理解

这是样式表的代码
/*日历部分的背景颜色*/
#qt_calendar_calendarview {
background-color: rgba(10, 95, 189, 1);
font: 16px;
}
/*这是日历部分的另外一个写法*/
QCalendarWidget QTableView
{
alternate-background-color:rgba(10, 95, 189, 1); /* day name/week number background */
color: rgba(255,255,255,1);
}
/*这里是标题栏的样式*/
QCalendarWidget QWidget#qt_calendar_navigationbar
{
background-color: rgba(4, 51, 114, 1);
}
/*这是上一个月的箭头的样式*/
QCalendarWidget QToolButton#qt_calendar_prevmonth
{
qproperty-icon: url(:/images/images/B.png);
}
/*这里是下一个月的箭头的样式*/
QCalendarWidget QToolButton#qt_calendar_nextmonth
{
qproperty-icon: url(:/images/images/A.png);
}
/*这里是激活的日期的样式也就是当前这个月*/
QCalendarWidget QAbstractItemView:enabled
{
font-size:24px;
color: rgb(255, 255, 255);
/* 这里是你选择一个日期时的样式,包括背景和字体颜色
selection-background-color: rgb(64, 64, 64);
selection-color: rgb(0, 255, 0); */
}
/*这里是其他月份的样式*/
QCalendarWidget QAbstractItemView:disabled
{
color: rgb(64, 64, 64);
}
这个可以修改周末的颜色
QTextCharFormat format = calendarWidget->weekdayTextFormat(Qt::Saturday);
format.setForeground(QBrush(Qt::white, Qt::SolidPattern));
calendarWidget->setWeekdayTextFormat(Qt::Saturday, format);
下图是具体设计出来后的样式

Qt QDateEdit下拉日历的样式设计的更多相关文章
- paip.web数据绑定 下拉框的api设计 选择框 uapi python .net java swing jsf总结
paip.web数据绑定 下拉框的api设计 选择框 uapi python .net java swing jsf总结 ====总结: 数据绑定下拉框,Uapi 1.最好的是默认绑定..Map(k ...
- 去除select下拉框默认样式
去除select下拉框默认样式 select { /*Chrome和Firefox里面的边框是不一样的,所以复写了一下*/ border: solid 1px #; /*很关键:将默认的select选 ...
- Qt颜色下拉框
上周为了用Qt写一个类似颜色下拉框的东西,查阅了网上的多数相关资料,依然没有我想要的.终于在周四的时候下定决心重写QCombobox类来实现功能,现在把它贴出来,望看到的人,批评指正.废话不多说,先上 ...
- Qt QComboBox下拉框文字重叠解决方法
如果QComboBox下拉框文字重叠,在设置好样式之后,在后面加 setView(new QListView())即可; m_comboRate = new QComboBox(); m_comboR ...
- PullToRefresh 下拉刷新的样式修改
资源文件结构图, 先看看下拉刷新头的布局, <?xml version="1.0" encoding="utf-8"?> <merge xml ...
- 一个常见下拉菜单的样式:一体化小三角(纯css手写解决)
类似下拉菜单2个一体化小三角,习惯上用字体图标加jQuery处理,比较方便,但是下面纯css手写解决方式,效果也还不错,对CSS知识也是一个比较好的孔固. 小三角用了2种不同处理方式:1.利用bord ...
- [Axure RP] – 鼠标滑入按钮时自动下拉表单的设计示例
转:http://blog.qdac.cc/?p=2197 Axure RP 是个好东东呀,大大方便了程序员与客户之间的前期调研时的交流.不过有一些控制并没有鼠标移入和移出的操作,比如 HTML 按钮 ...
- combobox的下拉框高度怎样设计合理
orry,代码如下$.extend($.fn.combobox.methods, { autoHeight : function (jq) {//combobox扩展,自动调整高度 ...
- css样式美化 下拉框 select 样式
<span class="setleft wid80"><span class="fyhbx">*</span>入库类型 : ...
- Qt下拉对话框 ComboBox的用法
介绍 ComboBox是Qt的下拉菜单的一个控件,通过下拉菜单选择不同的选项,样式如图: 基本用法 m_ComBox = ui.comboBox; //设置默认显示值的索引,从0开始 m_ComBox ...
随机推荐
- maven maven-surefire-plugin的乱码问题
今天项目中出现奇怪问题,在eclipse中直接运行TestNG时,全部都OK,但是执行mvn test时却失败.观察其输出日志,发现有乱码,怀疑是乱码导致. 最终在官网发现蛛丝马迹. maven-su ...
- Java中SPI机制原理解析
使用SPI机制前后的代码变化 加载MySQL对JDBC的Driver接口实现 在未使用SPI机制之前,使用JDBC操作数据库的时候,一般会写如下的代码: // 通过这行代码手动加载MySql对Driv ...
- 记一次 .NET某工业视觉软件 崩溃分析
一:背景 1. 讲故事 前两天给训练营里的一位学员分析了一个dump,学员因为弄了一整天也没找到祸根,被我一下子弄出来了,极度想看看我是怎么分析的?由于在微信上不能一言两语表尽,干脆写一篇文章出来详细 ...
- Vue.js 监听属性的使用
示例源码: <div id = "computed_props"> 千米 : <input type = "text" v-model = & ...
- IM开发干货分享:如何优雅的实现大量离线消息的可靠投递
1.点评 IM聊天消息的可靠投递,是每个线上产品都要考虑的IM热点技术问题. IM聊天消息能保证可靠送达,对于用户来说,就好比把钱存在银行不怕被偷一样,是信任的问题.试想,如果用户能明显感知到聊天消息 ...
- Linux USB 文件读写性能测试
USB 端口读写性能测试:========================================================读测试:sync && echo 3 > ...
- SpringCloud与Dubbo的区别
1.SpringCloud与Dubbo的区别两者都是现在主流的微服务框架,但却存在不少差异: 初始定位不同:SpringCloud定位为微服务架构下的一站式解决方案:Dubbo 是 SOA 时代的产物 ...
- Java一个入门级MVC基于Spring Boot项目
首先根据上一篇文章内容创建一个Spring Boot项目,如图所示: 一,创建Controller并返回数据 在src/main/java/项目文件夹下面创建package,继续里面可以创建模块的pa ...
- superset 1.3版本WIN10安装实录
首先说下,为什么要这么做,因为二开需要,二开要有源码,然后对源码修改,编译,所以不能通过类似https://zhuanlan.zhihu.com/p/271695878这种方式,直接安装: 1.去Gi ...
- atomikos实现分布式事务
date: 2022-04-25 categories: [java, 编程] tags: [分布式事务] 概述 多数据源单服务写入, 分布式事务实现 使用随机数控制产生异常 注: 网上很多都是只有多 ...