这回真的是最后一篇了。

  前面说过,我们开发过程中暂时不搭理样式问题,等最后再一起处理,那么现在就是最后处理时刻了!看到网上说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. 从VisualStudio资源文件看.NET资源处理

    c# 工程里面,经常会添加资源文件. 作用: 一处文本多个地方的UI使用,最好把文本抽成资源,多处调用使用一处资源. 多语言版本支持,一份代码支持多国语言.配置多国语言的资源文件,调用处引用资源. 例 ...

  2. Eureka源码解析系列文章汇总

    先看一张图 0 这个图是Eureka官方提供的架构图,整张图基本上把整个Eureka的核心功能给列出来了,当你要阅读Eureka的源码时可以参考着这个图和下方这些文章 EurekaServer Eur ...

  3. Webpack相关原理浅析

    基本打包机制 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(de ...

  4. SAP MM MIGO过账报错 - 用本币计算的余额 - 之对策

    SAP MM MIGO过账报错 - 用本币计算的余额 - 之对策 使用MIGO事务代码对采购订单4500000191,执行收货,系统报错: 详细错误信息如下: 用本币计算的余额 消息号 F5703 诊 ...

  5. Spring登录实例

    Spring登录实例 项目结构 首先看一下整个项目的目录结构,如下: 导入Jar包 工欲善必先利其器,导入一下Jar包 配置文件 web.xml 配置 web.xml配置文件,如下: xmlns:xs ...

  6. vue学习指南:第一篇 - vue的介绍

    三大主流框架: 1. Vue.js 是目前最火的一个前端框架,react是最流行的前端框架 (react除了开发网站,还可以开发手机app,Vue语法也是可以用于手机App开发的,需要借助于wexx) ...

  7. Django 使用 mysql 数据库连接

    启用 mysql 数据库连接 修改 app01 下的 __init__.py import pymysql pymysql.install_as_MySQLdb() 修改 settings.py DA ...

  8. Maven+SSM框架,实现单表简单的增删改查

    目录 1.创建web Maven项目 2.创建java源码文件和resources资源文件 3.创建数据库配置文件:jdbc.properties 4.项目总体目录: 5.添加spring配置文件:a ...

  9. [基础]斯坦福cs231n课程视频笔记(三) 训练神经网络

    目录 training Neural Network Activation function sigmoid ReLU Preprocessing Batch Normalization 权重初始化 ...

  10. LightGBM调参笔记

    本文链接:https://blog.csdn.net/u012735708/article/details/837497031. 概述在竞赛题中,我们知道XGBoost算法非常热门,是很多的比赛的大杀 ...