diff --git a/styledemo/frmmain.cpp b/styledemo/frmmain.cpp index 15a4dc3..ed8981a 100644 --- a/styledemo/frmmain.cpp +++ b/styledemo/frmmain.cpp @@ -1,4 +1,5 @@ -#include "frmmain.h" +#pragma execution_character_set("utf-8") +#include "frmmain.h" #include "ui_frmmain.h" #include "qfile.h" #include "qtranslator.h" @@ -15,6 +16,12 @@ frmMain::~frmMain() delete ui; } +void frmMain::showEvent(QShowEvent *) +{ + int width = ui->tabConfig->width() / ui->tabConfig->count() - 20; + ui->tabConfig->setStyleSheet(QString("QTabBar::tab{min-width:%1px;}").arg(width)); +} + void frmMain::initForm() { this->initTableWidget(); diff --git a/styledemo/frmmain.h b/styledemo/frmmain.h index 5ee1584..3fa765b 100644 --- a/styledemo/frmmain.h +++ b/styledemo/frmmain.h @@ -16,6 +16,9 @@ public: explicit frmMain(QWidget *parent = 0); ~frmMain(); +protected: + void showEvent(QShowEvent *); + private: Ui::frmMain *ui; diff --git a/styledemo/frmmain.ui b/styledemo/frmmain.ui index 5c9846d..8f6ff8f 100644 --- a/styledemo/frmmain.ui +++ b/styledemo/frmmain.ui @@ -14,7 +14,7 @@ MainWindow - + @@ -51,181 +51,221 @@ - + - + 0 0 - - - 220 - 0 - - 220 16777215 - - QFrame::StyledPanel + + QTabWidget::South - - QFrame::Raised + + 0 - - - 6 - - - 6 - - - 6 - - - 6 - - - - - 字体颜色 - - - - - - - - - - - - - - - - - 面板背景 - - - - - - - - - - - - - - - - - 边框颜色 - - - - - - - - - - - - - - - - - 普通渐变开始 - - - - - - - - - - - - - - - - - 普通渐变结束 - - - - - - - - - - - - - - - - - 加深渐变开始 - - - - - - - - - - - - - - - - - 加深渐变结束 - - - - - - - - - - - - - - - - - 边缘高亮颜色 - - - - - - - - - - - - - - + + + 颜色 + + + + + + 字体文字颜色 + + + + + + + + + + + + + + + + + 面板背景颜色 + + + + + + + + + + + + + + + + + 全局边框颜色 + + + + + + + + + + + + + + + + + 普通渐变开始 + + + + + + + + + + + + + + + + + 普通渐变结束 + + + + + + + + + + + + + + + + + 加深渐变开始 + + + + + + + + + + + + + + + + + 加深渐变结束 + + + + + + + + + + + + + + + + + 边缘高亮颜色 + + + + + + + + + + + + + + + + + + 尺寸 + + + + + + 指示器宽度 + + + + + + + 40 + + + + + + + 指示器高度 + + + + + + + 40 + + + + + + + Qt::Vertical + + + + 20 + 173 + + + + + + + + + 其他 + + @@ -249,194 +289,350 @@ true - - - - - 飞扬青云 + + + + + + 0 + 0 + - - Qt::AlignCenter + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 飞扬青云 + + + + + + + QFrame::Box + + + QFrame::Sunken + + + 我是标签 + + + + + + + 拿人钱财替人消灾,人生江湖如此,程序江湖亦如此. + + + + + + + + + + + + + + + + true + + + + + + + true + + + + + + + 100 + + + Qt::Horizontal + + + + + + + + 16777215 + 22 + + + + + + + + Qt::Horizontal + + + + + + + + + + + + + 5 + + + QLCDNumber::Flat + + + 12345.000000000000000 + + + 12345 + + + + + + + + 0 + 0 + + + + + + + + + + + Qt::Vertical - - - - 拿人钱财替人消灾,人生江湖如此,程序江湖亦如此. - - + + + + + + + 80 + 0 + + + + 标准输入框 + + + + + + + 密码输入框 + + + + + + + 下拉输入框 + + + + + + + 弹出新窗体 + + + + + + + 关于Qt + + + + - - - - 单选框1 + + + + + 12 + 16777215 + - - - - - - 单选框2 + + 0 - - - - - - 复选框1 - - - - - - - 复选框2 - - + false - - - - - - 复选框3 - - - - - - - - 16777215 - 28 - - - - - - - - - 16777215 - 28 - - - - - - - - 信息框 - - - - - - - 提示框 - - - - - - - 错误框 - - - - - - - 标准输入框 - - - - - - - 密码输入框 - - - - - - - 下拉输入框 - - - - - - - 新窗体 - - - - - - - - - - - - - - - - true - - - - - - - true - - - - - - - 100 - - Qt::Horizontal + Qt::Vertical - - - + + + + Qt::Vertical + + + + + + + + + + 80 + 0 + + + + 信息框 + + + + + + + 询问框 + + + + + + + 错误框 + + + + + + + 右下框 + + + + + + + 日期框 + + + + + + + + + + + 单选框1 + + + + + + + 单选框2 + + + + + + + 单选框3 + + + + + + + 复选框1 + + + + + + + 复选框2 + + + false + + + + + + + 复选框3 + + + + + + + + + Qt::Vertical + + - 16777215 - 18 + 20 + 40 - - - - - - 每个人心中都有一段鲜不为人知的故事, -如果不是某一天, -某个不经意的回头一瞥, -那段往事, -就只能永远埋在记忆的最深处, -那是回忆的尽头, -可就无法避免那一触, -无论你在上面用怎样淤厚的冷漠层层包裹, -却总在瞬间崩溃。 - - + + + + 多行文本 + + + + + + + + + + + + + + + + + 表格数据 @@ -684,20 +880,6 @@ - - - - Qt::Vertical - - - - - - - Qt::Vertical - - - @@ -864,111 +1046,40 @@ - UI界面 + 内置图标 - - - - - - 0 - 0 - - - - 界面1 - - - - - - - - 0 - 0 - - - - 界面2 - - - - - - - - 0 - 0 - - - - 界面3 - - - - - - - - 0 - 0 - - - - 界面4 - - - - - - - - 0 - 0 - - - - 界面5 - - - - - - - - 0 - 0 - - - - 界面6 - - - - - - - - 0 - 0 - - - - 界面7 - - - - - - - - 0 - 0 - - - - 界面8 - + + + 3 + + + 3 + + + 3 + + + 3 + + + + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + @@ -977,7 +1088,7 @@ 视频监控 - + @@ -1199,22 +1310,5 @@ - - - horizontalSlider - valueChanged(int) - progressBar - setValue(int) - - - 207 - 445 - - - 399 - 445 - - - - + diff --git a/styledemo/main.cpp b/styledemo/main.cpp index 0e8c7c4..10d4d2a 100644 --- a/styledemo/main.cpp +++ b/styledemo/main.cpp @@ -1,14 +1,37 @@ #include "frmmain.h" -#include "qapplication.h" +#include +#include +#include int main(int argc, char *argv[]) { QApplication a(argc, argv); a.setFont(QFont("Microsoft Yahei", 9)); +#if (QT_VERSION <= QT_VERSION_CHECK(5,0,0)) +#if _MSC_VER + QTextCodec *codec = QTextCodec::codecForName("gbk"); +#else + QTextCodec *codec = QTextCodec::codecForName("utf-8"); +#endif + QTextCodec::setCodecForLocale(codec); + QTextCodec::setCodecForCStrings(codec); + QTextCodec::setCodecForTr(codec); +#else + QTextCodec *codec = QTextCodec::codecForName("utf-8"); + QTextCodec::setCodecForLocale(codec); +#endif + frmMain w; w.setWindowTitle("styledemo Author: feiyangqingyun@163.com QQ: 517216493"); w.show(); + //居中显示窗体 + QDesktopWidget deskWidget; + int deskWidth = deskWidget.availableGeometry().width(); + int deskHeight = deskWidget.availableGeometry().height(); + QPoint movePoint(deskWidth / 2 - w.width() / 2, deskHeight / 2 - w.height() / 2); + w.move(movePoint); + return a.exec(); } diff --git a/styledemo/readme.txt b/styledemo/readme.txt new file mode 100644 index 0000000..ee25995 --- /dev/null +++ b/styledemo/readme.txt @@ -0,0 +1,134 @@ +PS:本样式demo完全开源。 + +V20170219首版开发计划 +1:所有其他窗体都是其布居中的widget。 +2:左上角图标、标题、标题居中、右上角最小化最大化关闭都可设置,包括设置样式+图标+图形字体(默认图形字体)。 +3:左上角图标及右上角三个按钮可视化控制。同时提供外部访问权限。 +4:无边框窗体可拉伸控制。 +5:提供换肤接口,内置8套样式选择,也可自定义样式路径。 +6:做成设计师插件,可以直接拖曳使用,所见即所得。 +7:后期增加内置信息框、颜色框等弹出窗体的支持。 + +8:重新设计QSS样式,去掉单选框图片、滚动条图片,增加主菜单样式。 +样式表格式 +(1):第一行为特殊自定义部分,可以通过读取文本文件识别到特殊的颜色值。用于特殊处理。 +(2):第二行为全局样式设置,例如无虚线,全局字体大小,文字颜色,禁用控件颜色。 +(3):其他部分 +(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