这回真的是最后一篇了。

  前面说过,我们开发过程中暂时不搭理样式问题,等最后再一起处理,那么现在就是最后处理时刻了!看到网上说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. PHP 日历函数手册

    PHP日历函数安装>>> 函数名称 描述 cal_days_in_month 返回某个历法中某年中某月的天数 cal_from_jd 转换Julian Day计数到一个支持的历法. ...

  2. ios问题笔记

    32位 最多内存0到3G 64位 最多内存0到8G iOS模板code4app.com github.com developer.apple.con 动画 label不能变小 只能变大,(而uivie ...

  3. mtime, atime, ctime 的区别

    mtime ls -l 显示最近修改文件内容的时间 atime ls -lu 显示最近访问文件的时间 ctime ls -li 显示最近文件有所改变的状态,如文件修改,属性\属主改变,节点,链接变化等 ...

  4. if,for,异常,random模块,计算圆周率

    一.分支结构 单分支结构 if 一般用于判断选择 score = 95 if score > 90: print('优秀') 双分支结构 if...else age = 20 if age &g ...

  5. VMware虚拟机可与Win10物理机互ping并可访问互联网的设置方法

     一.系统环境: VMware 15.Windows 10 1903.Windows 7 虚拟机 二.具体步骤: 1.Win10物理机,控制面板-所有控制面板项-网络连接-物理网卡适配器右键-属性-共 ...

  6. PostgreSQL 插入行、查表、导出

    1.连接数据库 使用cmd选择安装路径下的psql.exe     登录用户名为postgres   输入密码进行登录. D:\PostgreSQL\9.6\bin\psql.exe -U postg ...

  7. Portainer

    docker search portainer docker pull portainer/portainer docker run -it \ --name prtainer \ -p 9000:9 ...

  8. 201871010123-吴丽丽《面向对象程序设计(Java)》第十五周学习总结

    201871010123-吴丽丽<面向对象程序设计(Java)>第十五周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

  9. CF1045B Space Isaac

    原题链接 DOWNLOAD AS PDF 题目大意 \(0\sim m-1\)的数被分成两个集合,你可以分别从两个集合中取一个数相加并对\(m\)取模,求一不能构造出的数. 题解 感觉如果\(\col ...

  10. CF1245 A. Good ol' Numbers Coloring(java与gcd)

    题意:给定数字A和数字B,问是否满足gcd(A,B)==1. 思路:可以直接写函数gcd.也可以用大数自带的gcd功能. 代码1: /* @author nimphy @create 2019-11- ...