Qt样式表Qt StyleSheet(QSS)用法和例程

4 篇文章 0 订阅

Qt样式表Qt StyleSheet(QSS)用法和例程

QT样式表setStyleSheet使用例程,包含13种不同的样式,实现简单换皮肤效果。

主要修改:
1.button/edit/label/widget等样式更改。
2.去除窗口标题,自绘标题栏并实现最小最大关闭功能。
3.支持手动修改颜色值,设置后查看效果。

补充说明:颜色风格和使用方法感谢网上的各路大神,我这边只是做了简单的整合和测试,代码小白级别,望见谅。

Demo链接(白嫖): https://download.csdn.net/download/long00000kid/15900563.


效果示例

自定义风格
自定义风格
淡蓝色风格
淡蓝色风格
浅灰色风格
浅灰色风格

调用方式

示例如下:

	QString stylesheet = "QLineEdit,QTextEdit,QTableWidget{color:#DCDCDC;background: #444444;}";
	this->setStyleSheet(stylesheet);

部分代码

设置无边框和界面透明:

    this->setWindowFlags(Qt::FramelessWindowHint);   //设置无边框窗口//
//   this->setWindowFlags(Qt::CustomizeWindowHint);   //设置无标题窗口//
    this->setWindowOpacity(0.98);//设置程序界面透明//

样式风格:

void MainWindow::SelectStyle(int style)
{
    switch (style) {
    case 0://自定义风格//
        SetStyle(m_styleUser[0], m_styleUser[1], m_styleUser[2], m_styleUser[3], m_styleUser[4], m_styleUser[5], m_styleUser[6], m_styleUser[7]);
        break;
    case 1://银色风格//
        SetStyle("#000000", "#F5F5F5", "#B2B6B9", "#E1E4E6", "#CCD3D9", "#F2F3F4", "#E7E9EB", "#00BB9E");
        break;
    case 2://蓝色风格//
        SetStyle("#324C6C", "#CFDDEE", "#7F9AB8", "#C0D3EB", "#BCCFE7", "#D2E3F5", "#CADDF3", "#00BB9E");
        break;
    case 3://淡蓝色风格//
        SetStyle("#386487", "#EAF7FF", "#C0DCF2", "#DEF0FE", "#C0DEF6", "#F2F9FF", "#DAEFFF", "#00BB9E");
        break;
    case 4://深蓝色风格//
        SetStyle("#7AAFE3", "#0E1A32", "#132743", "#133050", "#133050", "#033967", "#033967", "#00BB9E");
        break;
    case 5://灰色风格//
        SetStyle("#000000", "#F0F0F0", "#A9A9A9", "#E4E4E4", "#A2A2A2", "#DBDBDB", "#C1C1C1", "#00BB9E");
        break;
    case 6://浅灰色风格//
        SetStyle("#6F6F6F", "#E6E6E6", "#D4D0C8", "#EEEEEE", "#E5E5E5", "#FCFCFC", "#F7F7F7", "#00BB9E");
        break;
    case 7://深灰色风格//
        SetStyle("#5D5C6C", "#EBECF0", "#A9ACB5", "#D8D9DE", "#C8C8D0", "#EFF0F4", "#DDE0E7", "#00BB9E");
        break;
    case 8://黑色风格//
        SetStyle("#F0F0F0", "#464646", "#353535", "#4D4D4D", "#292929", "#636363", "#575757", "#00BB9E");
        break;
    case 9://浅黑色风格//
        SetStyle("#E7ECF0", "#616F76", "#738393", "#667481", "#566373", "#778899", "#708090", "#00BB9E");
        break;
    case 10://深黑色风格//
        SetStyle("#D7E2E9", "#1F2026", "#111214", "#242629", "#141518", "#007DC4", "#0074BF", "#00BB9E");
        break;
    case 11://PS黑色风格//
        SetStyle("#DCDCDC", "#444444", "#242424", "#484848", "#383838", "#646464", "#525252", "#00BB9E");
        break;
    case 12://黑色扁平//
        SetStyle("#BEC0C2", "#2E2F30", "#67696B", "#404244", "#404244", "#262829", "#262829", "#00BB9E");
        break;
    case 13://白色扁平//
        SetStyle("#57595B", "#FFFFFF", "#B6B6B6", "#E4E4E4", "#E4E4E4", "#F6F6F6", "#F6F6F6", "#00BB9E");
        break;
    default:
        break;
    }
}

自定义风格:

	QString stylesheet =
		"QWidget{background:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #585858, stop: 1.0 #484848);}"
		"QLineEdit,QTextEdit,QTableWidget{color:#DCDCDC;background: #444444;selection-color:black;selection-font:bold;selection-background-color:white;border-radiusx:2px}"
		//普通态//
		"QComboBox, QPushButton{color:#DCDCDC;background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, "
		"stop: 0 #484848, stop: 0.4 #424242,"
		"stop: 0.5#525252, stop: 1.0 #646464);border:2px groove gray;border-radius:6px;padding:2px 6px;}"
		//停留态//
		"QPushButton:hover{color:rgb(250,250,240);background-color:rgb(15,80,138);font:bold;}"
		"QLineEdit:hover{color:rgb(250,250,240);background-color:rgb(15,80,138);font:bold;}"
		"QTextEdit:hover{color:rgb(250,250,240);background-color:rgb(15,80,138);font:bold;}"
		//按下态//
		"QPushButton:pressed{background-color:rgb(13,69,119);padding-left:8px;padding-top:4px;}"
		"QLabel{color:#DCDCDC;}";
	this->setStyleSheet(stylesheet);

总结

用到的东东并不多,来来去去就几种,具体的解释和效果建议直接测试,或者找度娘,一查一个准。
如果想程序更加美观好看,找美工吧,贴图效果更好,如果没这个精力,现在这种方法比较简单快捷。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值