From e307a15926f810609bb30c23ec28db9ff0e0b370 Mon Sep 17 00:00:00 2001 From: feiyangqingyun Date: Tue, 19 May 2020 13:50:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9B=E8=AF=BB=E5=8F=96=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- styledemo/frmmain.cpp | 24 ++++++++- styledemo/readme.txt | 115 ++++++++++++++++++++++++++++++++++++++++ styledemo/styledemo.pro | 38 ++++++------- 3 files changed, 153 insertions(+), 24 deletions(-) diff --git a/styledemo/frmmain.cpp b/styledemo/frmmain.cpp index ed8981a..ea23a57 100644 --- a/styledemo/frmmain.cpp +++ b/styledemo/frmmain.cpp @@ -2,8 +2,10 @@ #include "frmmain.h" #include "ui_frmmain.h" #include "qfile.h" +#include "qtextstream.h" #include "qtranslator.h" #include "qdesktopwidget.h" +#include "qdebug.h" frmMain::frmMain(QWidget *parent) : QMainWindow(parent), ui(new Ui::frmMain) { @@ -148,22 +150,40 @@ void frmMain::initOther() QList labChs = ui->widgetVideo->findChildren(); foreach (QLabel *lab, labChs) { lab->setFocusPolicy(Qt::StrongFocus); - } + } } void frmMain::initStyle() { //加载样式表 + QString qss; //QFile file(":/qss/psblack.css"); //QFile file(":/qss/flatwhite.css"); QFile file(":/qss/lightblue.css"); if (file.open(QFile::ReadOnly)) { - QString qss = QLatin1String(file.readAll()); +#if 1 + //用QTextStream读取样式文件不用区分文件编码 带bom也行 + QStringList list; + QTextStream in(&file); + //in.setCodec("utf-8"); + while (!in.atEnd()) { + QString line; + in >> line; + list << line; + } + + qss = list.join("\n"); +#else + //用readAll读取默认支持的是ANSI格式,如果不小心用creator打开编辑过了很可能打不开 + qss = QLatin1String(file.readAll()); +#endif QString paletteColor = qss.mid(20, 7); qApp->setPalette(QPalette(QColor(paletteColor))); qApp->setStyleSheet(qss); file.close(); } + + } void frmMain::initTranslator() diff --git a/styledemo/readme.txt b/styledemo/readme.txt index ec280e9..ee25995 100644 --- a/styledemo/readme.txt +++ b/styledemo/readme.txt @@ -17,3 +17,118 @@ V20170219首版开发计划 (3):标签控件 (4):按钮控件 +用Qt写项目写多了,为了满足不同客户的需求,需要定制不同样式的界面,QUI皮肤生成器应运而生。思考这个工具的架构花了一年时间,如何从复杂的配色方案中提取出共性,然后将共性转为具体的QSS文件。思考架构花了一年时间,编写大概花了一天时间完成。 +demo演示版:http://pan.baidu.com/s/1jIkbVKU + +QUI皮肤生成器介绍: +1:极简设计,傻瓜式操作步骤:,只需简单几步即可设计出漂亮的皮肤。 +2:所见即所得,想要什么好的皮肤,分分钟搞定。 +3:自动生成样式中所需要的对应颜色的图片资源文件,比如单选框、复选框指示器图片。 +4:集成自定义无边框标题栏样式、左边导航切换样式、顶部导航切换样式、设备面板样式。 + + + + +银色风格 +字体颜色:#000000 +面板背景:#F5F5F5 +边框颜色:#B2B6B9 +普通渐变:#E1E4E6 #CCD3D9 +加深渐变:#F2F3F4 #E7E9EB +高亮颜色:#00BB9E + +蓝色风格 +字体颜色:#324C6C +面板背景:#CFDDEE +边框颜色:#7F9AB8 +普通渐变:#C0D3EB #BCCFE7 +加深渐变:#D2E3F5 #CADDF3 +高亮颜色:#00BB9E + +淡蓝色风格 +字体颜色:#386487 +面板背景:#EAF7FF +边框颜色:#C0DCF2 +普通渐变:#DEF0FE #C0DEF6 +加深渐变:#F2F9FF #DAEFFF +高亮颜色:#00BB9E + +深蓝色风格 +字体颜色:#7AAFE3 +面板背景:#0E1A32 +边框颜色:#132743 +普通渐变:#133050 #133050 +加深渐变:#033967 #033967 +高亮颜色:#00BB9E + +灰色风格 +字体颜色:#000000 +面板背景:#F0F0F0 +边框颜色:#A9A9A9 +普通渐变:#E4E4E4 #A2A2A2 +加深渐变:#DBDBDB #C1C1C1 +高亮颜色:#00BB9E + +浅灰色风格: +字体颜色:#6F6F6F +面板背景:#F0F0F0 +边框颜色:#D4D0C8 +普通渐变:#EEEEEE #E5E5E5 +加深渐变:#FCFCFC #F7F7F7 +高亮颜色:#00BB9E + +深灰色风格 +字体颜色:#5D5C6C +面板背景:#EBECF0 +边框颜色:#A9ACB5 +普通渐变:#D8D9DE #C8C8D0 +加深渐变:#EFF0F4 #DDE0E7 +高亮颜色:#00BB9E + +黑色风格 +字体颜色:#F0F0F0 +面板背景:#464646 +边框颜色:#353535 +普通渐变:#4D4D4D #292929 +加深渐变:#636363 #575757 +高亮颜色:#00BB9E + +浅黑色风格 +字体颜色:#E7ECF0 +面板背景:#616F76 +边框颜色:#738393 +普通渐变:#667481 #566373 +加深渐变:#778899 #708090 +高亮颜色:#00BB9E + +深黑色风格 +字体颜色:#D7E2E9 +面板背景:#1F2026 +边框颜色:#111214 +普通渐变:#242629 #141518 +加深渐变:#007DC4 #0074BF +高亮颜色:#00BB9E + +PS黑色风格 +字体颜色:#DCDCDC +面板背景:#444444 +边框颜色:#242424 +普通渐变:#484848 #383838 +加深渐变:#646464 #525252 +高亮颜色:#00BB9E + +黑色扁平 +字体颜色:#BEC0C2 +面板背景:#2E2F30 +边框颜色:#67696B +普通渐变:#404244 #404244 +加深渐变:#262829 #262829 +高亮颜色:#00BB9E + +白色扁平 +字体颜色:#57595B +面板背景:#FFFFFF +边框颜色:#B6B6B6 +普通渐变:#E4E4E4 #E4E4E4 +加深渐变:#F6F6F6 #F6F6F6 +高亮颜色:#00BB9E \ No newline at end of file diff --git a/styledemo/styledemo.pro b/styledemo/styledemo.pro index 0ea1376..7a56ace 100644 --- a/styledemo/styledemo.pro +++ b/styledemo/styledemo.pro @@ -8,27 +8,21 @@ QT += core gui network greaterThan(QT_MAJOR_VERSION, 4): QT += widgets -TARGET = styledemo -TEMPLATE = app -MOC_DIR = temp/moc -RCC_DIR = temp/rcc -UI_DIR = temp/ui -OBJECTS_DIR = temp/obj -DESTDIR = $$PWD/../bin +TARGET = styledemo +TEMPLATE = app +MOC_DIR = temp/moc +RCC_DIR = temp/rcc +UI_DIR = temp/ui +OBJECTS_DIR = temp/obj +DESTDIR = $$PWD/../bin -INCLUDEPATH += $$PWD -CONFIG += warn_off +CONFIG += warn_off +SOURCES += main.cpp +SOURCES += frmmain.cpp +HEADERS += head.h +HEADERS += frmmain.h +FORMS += frmmain.ui +RESOURCES += other/qss.qrc +RESOURCES += other/main.qrc -SOURCES += main.cpp \ - frmmain.cpp -SOURCES += - -HEADERS += head.h \ - frmmain.h -HEADERS += - -FORMS += \ - frmmain.ui - -RESOURCES += other/qss.qrc -RESOURCES += other/main.qrc +INCLUDEPATH += $$PWD