这回真的是最后一篇了。

  前面说过,我们开发过程中暂时不搭理样式问题,等最后再一起处理,那么现在就是最后处理时刻了!看到网上说QSS跟CSS差不多,我还觉得自己可以干回老本行了,结果用起来发现,QSS是要啥啥没有吧???

  不管怎么说还是跌跌撞撞地假装完成了美化。最新,估计也是最后版本的exe也上传到了云盘(开启可能有点慢因为是连线上数据库):https://cloud.tsinghua.edu.cn/d/059ef6b1f9a149ce879b/files/?p=/translation.rar

  

  

  这部分还是得依赖大家自学,核心思想无非就是写个控件名字之类的定位一下控件,然后把它的相关属性丢上去。需要注意一下选择器和盒子模型,其他细节有需要即查就行,毕竟我是不可能在博客里把所有知识点给你列一遍的,以下是一些主要参考教程:

  选择器:https://qtdebug.com/qtbook-qss-selector/

  盒子模型:https://www.runoob.com/css/css-boxmodel.html

  CSS:https://www.w3school.com.cn/css/index.asp

  官方属性表:https://doc.qt.io/qt-5/stylesheet-reference.html

  官方样例:https://doc.qt.io/qt-5/stylesheet-examples.html

  如果你觉得,我可能不想(懒)或者没时间把上面这些东西学起来,你可以选择直接在网上借鉴(bushi)一份已有的QSS模板,然后把颜色、图片、或者其他细节修改一下就行(我博客园的界面就是这么来的)。或者你可以选择我的QSS(反正就当你看到之后了解了这个属性是怎么工作的然后应用到了自己的程序上这种程度吧):

/*设置主体内容*/
QWidget{
font-size : 30px;
font : large "Times New Roman";
background: transparent;
border : none;
color : #D3D3D3;
margin : 0px;
} /*设置主窗口背景图片*/
Translation{
border-image : url("Images/background-2.jpg");
} /*按钮样式*/
QPushButton{
background : rgba(72, 61, 139, 0.7);
color : #FFF5EE;
border: 10px solid #483D8B;
border-radius : 30px;
max-width : 200px;
min-width : 100px;
max-height : 50px;
min-height : 40px;
margin-left : auto;
margin-right : auto;
} /*各类输入框*/
QLineEdit, QTextEdit, QDateEdit, QComboBox{
border: 10px solid #000000;
border-radius : 20px;
min-height : 40px;
background : rgb(0,0,0,0.5);
margin-top : 20px;
selection-background-color : #36480e;
} /*滚动区*/
QScrollArea{
border-radius : 20px;
background : rgb(0,0,0,0.5);
}
QScrollBar{
width : 10px;
color : gray;
}
QScrollBar::sub-line{
background : gray;
} /*标签页*/
QTabWidget::tab-bar {
left:40px;
}
QTabBar::tab{
background : rgb(0,0,0,0.8);
margin-left: 5px;
padding: 5px;
border : 10px solid #000000;
border-top-left-radius : 20px;
border-top-right-radius : 20px;
}
QTabBar::tab:hover{
background : rgb(100,100,100,0.8);
color : black;
}
QTabBar::tab:!selected {
margin-top : 5px;
}
QTabWidget{
background : transparent;
}
QTabWidget::pane{
border : 10px solid black;
border-radius : 40px;
}
QStackedWidget{
background : rgb(0,0,0,0.5);
} /*菜单栏*/
QMenuBar{
background : transparent;
}
QMenuBar::item{
margin-top : 10px;
margin-right : 30px;
border: 10px solid #101010;
background : #101010;
border : 10px solid black;
padding : 10px;
border-radius : 20px;
} /*菜单列表*/
QMenu::item{
background : qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #101010, stop:1 #000000);
padding : 15px;
}
QMenu::item:selected{
font-weight : bold;
padding : 15px;
}
QLabelCenter{
font-weight : bold;
} /*弹出对话框*/
QInputDialog, QMessageBox{
border-image : url("Images/background-4.jpg");
} /*下拉选择框,去除三角标记*/
QComboBox::drop-down{
background : transparent;
} /*个别单独控件:主标题、主介绍、对话界面用户名*/
Index > QLabelCenter, TaskList > QLabelCenter, Leaderboard > QLabelCenter, Login > QLabelCenter, Register > QLabelCenter{
font-weight :;
font-family : STCaiyun;
font-size : 80px;
color : white;
}
Index QTextEdit{
font-size : 40px;
text-align : center;
}
MessageView > QWidget > QLabelCenter{
font-size : 50px;
color : #4682B4;
}

  结合上面放的exe食用效果更佳。

  另外代码上现在有一个无法解决的Bug,就是在聊天界面发送消息会一闪一闪的,大致原因是把滚动条拉到底部之前需要先把已有画面绘制出来才能获取滚动条的最大长度……暂时没能解决回头再说趴,如果有大佬会请务必教教我啊T_T

  如果你发现我的程序样式那里崩了请务必务必务必告诉我。

  静态编译不想搞了(因为可能没多少时间耗在上边了),如果有大佬完成了静态编译我就坐等攻略了(可爱脸)。

  8说了,我去写注释和项目报告了。

c++小学期大作业攻略(五)基于QSS的样式美化的更多相关文章

  1. c++小学期大作业攻略(一)环境配置

    UPDATE at 2019/07/20 20:21 更新了Qt连接mysql的方法,但是是自己仿照连VS的方法摸索出来的,简单测试了一下能work但是不保证后期不会出问题.如果你在尝试过程中出现了任 ...

  2. c++小学期大作业攻略(二)整体思路+主界面

    写在前面:如果我曾经说过要在第一周之内写完大作业,那……肯定是你听错了.不过如果我在写的时候有攻略看的话应该可以轻松地在4~5天内做完,然后觉得写攻略的人是个小天使吧(疯狂暗示).出于给大家自由发挥的 ...

  3. c++小学期大作业攻略(三)用户系统

    Update at 2019/07/22 14:16 发现一个大坑,我们后期是打算用QSS统一堆样式进行美化的,于是我把之前对QLabel进行的setAlignment全部去掉了,打算统一丢进Qss里 ...

  4. c++小学期大作业攻略(零)建议+代码结构(持续更新)

    当前已经做好的exe,数据库是连服务器的,但是头像是存在本地的文件系统里面: https://cloud.tsinghua.edu.cn/d/059ef6b1f9a149ce879b/files/?p ...

  5. c++小学期大作业攻略(四)任务系统+站内信

    虽然比最早的预定晚了整整一个星期但这核心功能最后一篇终于还是来了. 如果你已经经历了用户系统的洗礼,相信代码实现应该已经没有太大的难度,所以我们重点关注一下设计好的流程. 一.任务系统 首先是新建任务 ...

  6. 内连接、左外连接、右外连接、全外连接、交叉连接(CROSS JOIN)-----小知识解决大数据攻略

    早就听说了内连接与外连接,以前视图中使用过.这次自考也学习了,只是简单理解,现在深入探究学习(由于上篇博客的出现)与实践: 概念 关键字: 左右连接 数据表的连接有: 1.内连接(自然连接): 只有两 ...

  7. mac攻略(五) -- 使用brew配置php7开发环境(mac+php+apache+mysql+redis)

    前面介绍过基本的配置,后来我又从网上查找了很多资料,经过不断的摸索,下面做了一个总结,希望能对大家提供些许帮助(Mac版本是sierra)   一.mac系统会自带git,而我们要做的是自己安装git ...

  8. 小编接地气——第六届中国云计算大会攻略Q&A

    2014年5月20-23日,第六届中国云计算大会在北京召开. 花个1000多元,在工作日请假来參加大会,不能让大家白跑一趟而是物有所值. 小编写了大会攻略Q&A,分享给各位 Q:为什么要參加关 ...

  9. 超时空英雄传说2复仇魔神完全攻略&秘技

    ╓─╥───────────────────────────────────────────────────╥─╖ ║ ║ 超 時 空 英 雄 傳 說 2 ║ ║ ║ ║ --復 仇 魔 神-- ║ ...

随机推荐

  1. 分布式Redis深度历险-Cluster

    本文为分布式Redis深度历险系列的第三篇,主要内容为Redis的Cluster,也就是Redis集群功能. Redis集群是Redis官方提供的分布式方案,整个集群通过将所有数据分成16384个槽来 ...

  2. https申请证书并部署到网站流程,浏览器验证证书流程

    https申请证书并部署到网站流程: 1.生成一对秘钥,设公钥为pubk1,私钥为prik12.假设发布的网站地址为https://www.example.com3.生成一个CSR文件(Cerific ...

  3. python3使用模块

    Python内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用. 我们以内建的sys模块为例,编写一个hello的模块: #!/usr/bin/env python3 # -*- codi ...

  4. vue -全局组件和局部组件

    1.全局组件:Vue.component('标签名', 构造器名) Vue.component('mycpn', cpnC) 注:这种注册组件的方式是全局组件,可以在多个Vue实例中使用. 2.局部组 ...

  5. Django框架 --序列化组件(serializer)

    一 .Django自带序列化组件 Django内置的serializers(把对象序列化成json字符串) from django.core import serializers from djang ...

  6. vsftpd服务

    vsftpd服务 文件传输协议(file transfer protocol,FTP),基于该协议FTP客户端与服务端可以实现共享文件,上传文件,下载文件.ftp基于TCP协议生成一个虚拟的连接,主要 ...

  7. 【微信小程序】开发实战 之 「视图层」WXML & WXSS 全解析

    在<微信小程序开发实战 之 「配置项」与「逻辑层」>中我们详细阐述了小程序开发的程序和页面各配置项与逻辑层的基础知识.下面我们继续解析小程序开发框架中的「视图层」部分.学习完这两篇文章的基 ...

  8. js闭包和原型链好文

    http://www.cnblogs.com/wangfupeng1988/p/3977924.html

  9. Visual Studio 2017 软件包及教程

    下载地址:https://files.cnblogs.com/files/yungle/VisualStudio2017.rar 安装教程:https://mp.weixin.qq.com/s?__b ...

  10. VUE小练习(按钮颜色,数组映射)

    VUE小练习(按钮颜色,数组映射) ## 1.有红.黄.蓝三个按钮,以及一个200x200矩形框box, 点击不同的按钮,box的颜色会被切换成指定的颜色 ''' 解法一:我本来的思路,把三个按钮绑定 ...