改进读取样式方法

master
feiyangqingyun 2020-05-19 13:50:38 +08:00
parent 417a6aa498
commit cf9ef59a8f
4 changed files with 155 additions and 30 deletions

View File

@ -96,14 +96,12 @@ void DeviceSizeTable::load()
{
//清空原有数据
int row = this->rowCount();
for (int i = 0; i < row; i++) {
this->removeRow(0);
}
#ifdef Q_OS_WIN
QFileInfoList list = QDir::drives();
foreach (QFileInfo dir, list) {
QString dirName = dir.absolutePath();
LPCWSTR lpcwstrDriver = (LPCWSTR)dirName.utf16();
@ -117,7 +115,6 @@ void DeviceSizeTable::load()
QString all = QString::number((double) liTotalBytes.QuadPart / GB, 'f', 1);
all += "G";
int percent = 100 - ((double)liTotalFreeBytes.QuadPart / liTotalBytes.QuadPart) * 100;
insertSize(dirName, use, free, all, percent);
}
}
@ -220,13 +217,11 @@ void DeviceSizeTable::checkSize(const QString &result, const QString &name)
for (int i = 0; i < list.count(); i++) {
QString s = list.at(i).trimmed();
if (s == "") {
continue;
}
index++;
if (index == 1) {
dev = s;
} else if (index == 2) {

View File

@ -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<QLabel *> labChs = ui->widgetVideo->findChildren<QLabel *>();
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()

View File

@ -15,4 +15,120 @@ V20170219首版开发计划
2第二行为全局样式设置例如无虚线全局字体大小文字颜色禁用控件颜色。
3其他部分
3标签控件
4按钮控件
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

View File

@ -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