├── .gitattributes ├── .gitignore ├── EquipmentManagementTool.pro ├── EquipmentManagementTool.pro.user ├── README.md ├── appinit.cpp ├── appinit.h ├── demo.qrc ├── demo ├── main_about.png ├── main_company.png ├── main_config.png ├── main_data.png ├── main_exit.png ├── main_help.png ├── main_main.png └── main_person.png ├── head.h ├── image.qrc ├── image ├── Font Awesome Cheatsheet.png ├── bj.png ├── btn_close.png ├── btn_ok.png ├── fontawesome-webfont.ttf ├── gametest.png ├── gametest_focus.png ├── infoextend.png ├── infoextend_focus.png ├── logo.png ├── msg_error.png ├── msg_info.png ├── msg_question.png ├── positiontest.png ├── positiontest_focus.png ├── qt_zh_CN.qm ├── speedtest.png ├── speedtest_focus.png ├── titleclose.png ├── titlemax.png ├── titlemenu.png ├── titlemini.png ├── troublecheck.png ├── troublecheck_focus.png ├── websitetest.png ├── websitetest_focus.png ├── widgets.qm ├── wifitest.png └── wifitest_focus.png ├── main.cpp ├── main.ico ├── main.qrc ├── main.rc ├── navlistview.cpp ├── navlistview.h ├── qss.qrc ├── qss ├── bf.css ├── bf │ ├── add_bottom.png │ ├── add_left.png │ ├── add_right.png │ ├── add_top.png │ ├── branch_close.png │ ├── branch_open.png │ ├── calendar_nextmonth.png │ ├── calendar_prevmonth.png │ ├── checkbox_checked.png │ ├── checkbox_checked_disable.png │ ├── checkbox_parcial.png │ ├── checkbox_parcial_disable.png │ ├── checkbox_unchecked.png │ ├── checkbox_unchecked_disable.png │ ├── radiobutton_checked.png │ ├── radiobutton_checked_disable.png │ ├── radiobutton_unchecked.png │ └── radiobutton_unchecked_disable.png ├── black.css ├── black │ ├── add_bottom.png │ ├── add_left.png │ ├── add_right.png │ ├── add_top.png │ ├── branch_close.png │ ├── branch_open.png │ ├── calendar_nextmonth.png │ ├── calendar_prevmonth.png │ ├── checkbox_checked.png │ ├── checkbox_checked_disable.png │ ├── checkbox_parcial.png │ ├── checkbox_parcial_disable.png │ ├── checkbox_unchecked.png │ ├── checkbox_unchecked_disable.png │ ├── radiobutton_checked.png │ ├── radiobutton_checked_disable.png │ ├── radiobutton_unchecked.png │ └── radiobutton_unchecked_disable.png ├── blue.css ├── blue │ ├── add_bottom.png │ ├── add_left.png │ ├── add_right.png │ ├── add_top.png │ ├── branch_close.png │ ├── branch_open.png │ ├── calendar_nextmonth.png │ ├── calendar_prevmonth.png │ ├── checkbox_checked.png │ ├── checkbox_checked_disable.png │ ├── checkbox_parcial.png │ ├── checkbox_parcial_disable.png │ ├── checkbox_unchecked.png │ ├── checkbox_unchecked_disable.png │ ├── radiobutton_checked.png │ ├── radiobutton_checked_disable.png │ ├── radiobutton_unchecked.png │ └── radiobutton_unchecked_disable.png ├── darkblack.css ├── darkblack │ ├── add_bottom.png │ ├── add_left.png │ ├── add_right.png │ ├── add_top.png │ ├── branch_close.png │ ├── branch_open.png │ ├── calendar_nextmonth.png │ ├── calendar_prevmonth.png │ ├── checkbox_checked.png │ ├── checkbox_checked_disable.png │ ├── checkbox_parcial.png │ ├── checkbox_parcial_disable.png │ ├── checkbox_unchecked.png │ ├── checkbox_unchecked_disable.png │ ├── radiobutton_checked.png │ ├── radiobutton_checked_disable.png │ ├── radiobutton_unchecked.png │ └── radiobutton_unchecked_disable.png ├── darkblue.css ├── darkblue │ ├── add_bottom.png │ ├── add_left.png │ ├── add_right.png │ ├── add_top.png │ ├── branch_close.png │ ├── branch_open.png │ ├── calendar_nextmonth.png │ ├── calendar_prevmonth.png │ ├── checkbox_checked.png │ ├── checkbox_checked_disable.png │ ├── checkbox_parcial.png │ ├── checkbox_parcial_disable.png │ ├── checkbox_unchecked.png │ ├── checkbox_unchecked_disable.png │ ├── radiobutton_checked.png │ ├── radiobutton_checked_disable.png │ ├── radiobutton_unchecked.png │ └── radiobutton_unchecked_disable.png ├── darkgray.css ├── darkgray │ ├── add_bottom.png │ ├── add_left.png │ ├── add_right.png │ ├── add_top.png │ ├── branch_close.png │ ├── branch_open.png │ ├── calendar_nextmonth.png │ ├── calendar_prevmonth.png │ ├── checkbox_checked.png │ ├── checkbox_checked_disable.png │ ├── checkbox_parcial.png │ ├── checkbox_parcial_disable.png │ ├── checkbox_unchecked.png │ ├── checkbox_unchecked_disable.png │ ├── radiobutton_checked.png │ ├── radiobutton_checked_disable.png │ ├── radiobutton_unchecked.png │ └── radiobutton_unchecked_disable.png ├── flatblack.css ├── flatblack │ ├── add_bottom.png │ ├── add_left.png │ ├── add_right.png │ ├── add_top.png │ ├── branch_close.png │ ├── branch_open.png │ ├── calendar_nextmonth.png │ ├── calendar_prevmonth.png │ ├── checkbox_checked.png │ ├── checkbox_checked_disable.png │ ├── checkbox_parcial.png │ ├── checkbox_parcial_disable.png │ ├── checkbox_unchecked.png │ ├── checkbox_unchecked_disable.png │ ├── radiobutton_checked.png │ ├── radiobutton_checked_disable.png │ ├── radiobutton_unchecked.png │ └── radiobutton_unchecked_disable.png ├── flatwhite.css ├── flatwhite │ ├── add_bottom.png │ ├── add_left.png │ ├── add_right.png │ ├── add_top.png │ ├── branch_close.png │ ├── branch_open.png │ ├── calendar_nextmonth.png │ ├── calendar_prevmonth.png │ ├── checkbox_checked.png │ ├── checkbox_checked_disable.png │ ├── checkbox_parcial.png │ ├── checkbox_parcial_disable.png │ ├── checkbox_unchecked.png │ ├── checkbox_unchecked_disable.png │ ├── radiobutton_checked.png │ ├── radiobutton_checked_disable.png │ ├── radiobutton_unchecked.png │ └── radiobutton_unchecked_disable.png ├── gray.css ├── gray │ ├── add_bottom.png │ ├── add_left.png │ ├── add_right.png │ ├── add_top.png │ ├── branch_close.png │ ├── branch_open.png │ ├── calendar_nextmonth.png │ ├── calendar_prevmonth.png │ ├── checkbox_checked.png │ ├── checkbox_checked_disable.png │ ├── checkbox_parcial.png │ ├── checkbox_parcial_disable.png │ ├── checkbox_unchecked.png │ ├── checkbox_unchecked_disable.png │ ├── radiobutton_checked.png │ ├── radiobutton_checked_disable.png │ ├── radiobutton_unchecked.png │ └── radiobutton_unchecked_disable.png ├── lightblack.css ├── lightblack │ ├── add_bottom.png │ ├── add_left.png │ ├── add_right.png │ ├── add_top.png │ ├── branch_close.png │ ├── branch_open.png │ ├── calendar_nextmonth.png │ ├── calendar_prevmonth.png │ ├── checkbox_checked.png │ ├── checkbox_checked_disable.png │ ├── checkbox_parcial.png │ ├── checkbox_parcial_disable.png │ ├── checkbox_unchecked.png │ ├── checkbox_unchecked_disable.png │ ├── radiobutton_checked.png │ ├── radiobutton_checked_disable.png │ ├── radiobutton_unchecked.png │ └── radiobutton_unchecked_disable.png ├── lightblue.css ├── lightblue │ ├── add_bottom.png │ ├── add_left.png │ ├── add_right.png │ ├── add_top.png │ ├── branch_close.png │ ├── branch_open.png │ ├── calendar_nextmonth.png │ ├── calendar_prevmonth.png │ ├── checkbox_checked.png │ ├── checkbox_checked_disable.png │ ├── checkbox_parcial.png │ ├── checkbox_parcial_disable.png │ ├── checkbox_unchecked.png │ ├── checkbox_unchecked_disable.png │ ├── radiobutton_checked.png │ ├── radiobutton_checked_disable.png │ ├── radiobutton_unchecked.png │ └── radiobutton_unchecked_disable.png ├── lightgray.css ├── lightgray │ ├── add_bottom.png │ ├── add_left.png │ ├── add_right.png │ ├── add_top.png │ ├── branch_close.png │ ├── branch_open.png │ ├── calendar_nextmonth.png │ ├── calendar_prevmonth.png │ ├── checkbox_checked.png │ ├── checkbox_checked_disable.png │ ├── checkbox_parcial.png │ ├── checkbox_parcial_disable.png │ ├── checkbox_unchecked.png │ ├── checkbox_unchecked_disable.png │ ├── radiobutton_checked.png │ ├── radiobutton_checked_disable.png │ ├── radiobutton_unchecked.png │ └── radiobutton_unchecked_disable.png ├── psblack.css ├── psblack │ ├── add_bottom.png │ ├── add_left.png │ ├── add_right.png │ ├── add_top.png │ ├── branch_close.png │ ├── branch_open.png │ ├── calendar_nextmonth.png │ ├── calendar_prevmonth.png │ ├── checkbox_checked.png │ ├── checkbox_checked_disable.png │ ├── checkbox_parcial.png │ ├── checkbox_parcial_disable.png │ ├── checkbox_unchecked.png │ ├── checkbox_unchecked_disable.png │ ├── radiobutton_checked.png │ ├── radiobutton_checked_disable.png │ ├── radiobutton_unchecked.png │ └── radiobutton_unchecked_disable.png ├── silvery.css ├── silvery │ ├── add_bottom.png │ ├── add_left.png │ ├── add_right.png │ ├── add_top.png │ ├── branch_close.png │ ├── branch_open.png │ ├── calendar_nextmonth.png │ ├── calendar_prevmonth.png │ ├── checkbox_checked.png │ ├── checkbox_checked_disable.png │ ├── checkbox_parcial.png │ ├── checkbox_parcial_disable.png │ ├── checkbox_unchecked.png │ ├── checkbox_unchecked_disable.png │ ├── radiobutton_checked.png │ ├── radiobutton_checked_disable.png │ ├── radiobutton_unchecked.png │ └── radiobutton_unchecked_disable.png ├── test.css └── test │ ├── add_bottom.png │ ├── add_left.png │ ├── add_right.png │ ├── add_top.png │ ├── branch_close.png │ ├── branch_open.png │ ├── calendar_nextmonth.png │ ├── calendar_prevmonth.png │ ├── checkbox_checked.png │ ├── checkbox_checked_disable.png │ ├── checkbox_parcial.png │ ├── checkbox_parcial_disable.png │ ├── checkbox_unchecked.png │ ├── checkbox_unchecked_disable.png │ ├── radiobutton_checked.png │ ├── radiobutton_checked_disable.png │ ├── radiobutton_unchecked.png │ └── radiobutton_unchecked_disable.png ├── quiwidget.cpp ├── quiwidget.h ├── sliderbar.cpp ├── sliderbar.h ├── snapshot └── 1.gif ├── uidemo5.cpp ├── uidemo5.h └── uidemo5.ui /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Compiled Object files 5 | *.slo 6 | *.lo 7 | *.o 8 | *.obj 9 | 10 | # Precompiled Headers 11 | *.gch 12 | *.pch 13 | 14 | # Compiled Dynamic libraries 15 | *.so 16 | *.dylib 17 | *.dll 18 | 19 | # Fortran module files 20 | *.mod 21 | *.smod 22 | 23 | # Compiled Static libraries 24 | *.lai 25 | *.la 26 | *.a 27 | *.lib 28 | 29 | # Executables 30 | *.exe 31 | *.out 32 | *.app 33 | *.user 34 | EquipmentManagementTool.pro.user 35 | .qmake.stash 36 | EquipmentManagementTool.pro.user 37 | EquipmentManagementTool.sln 38 | main.ico 39 | -------------------------------------------------------------------------------- /EquipmentManagementTool.pro: -------------------------------------------------------------------------------- 1 | #------------------------------------------------- 2 | # 3 | # Project created by QtCreator 2018-04-22T19:54:14 4 | # 5 | #------------------------------------------------- 6 | 7 | QT += core gui 8 | QT += network 9 | greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 10 | 11 | TARGET = SmartSoloDeviceManager 12 | TEMPLATE = app 13 | 14 | # The following define makes your compiler emit warnings if you use 15 | # any feature of Qt which has been marked as deprecated (the exact warnings 16 | # depend on your compiler). Please consult the documentation of the 17 | # deprecated API in order to know how to port your code away from it. 18 | DEFINES += QT_DEPRECATED_WARNINGS 19 | 20 | # You can also make your code fail to compile if you use deprecated APIs. 21 | # In order to do so, uncomment the following line. 22 | # You can also select to disable deprecated APIs only up to a certain version of Qt. 23 | #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 24 | 25 | 26 | SOURCES += \ 27 | main.cpp \ 28 | appinit.cpp \ 29 | navlistview.cpp \ 30 | sliderbar.cpp \ 31 | uidemo5.cpp \ 32 | quiwidget.cpp 33 | 34 | HEADERS += \ 35 | appinit.h \ 36 | navlistview.h \ 37 | sliderbar.h \ 38 | uidemo5.h \ 39 | quiwidget.h \ 40 | head.h 41 | 42 | FORMS += \ 43 | uidemo5.ui 44 | 45 | RESOURCES += \ 46 | demo.qrc \ 47 | image.qrc \ 48 | main.qrc \ 49 | qss.qrc 50 | 51 | 52 | win32:CONFIG(release, debug|release): DESTDIR = ../../Release 53 | else:win32:CONFIG(debug, debug|release): DESTDIR = ../../Debug 54 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 简易开发框架 2 | ## 开发环境: 3 | Qt 5.9.4 4 | ## 默认黑色风格,内含多套精美配色可自由切换,便于快速开发 5 | ## 预览: 6 | ![1](/snapshot/1.gif) 7 | -------------------------------------------------------------------------------- /appinit.cpp: -------------------------------------------------------------------------------- 1 | #include "appinit.h" 2 | #include "qapplication.h" 3 | #include "qevent.h" 4 | 5 | AppInit *AppInit::self = 0; 6 | AppInit::AppInit(QObject *parent) : QObject(parent) 7 | { 8 | } 9 | 10 | bool AppInit::eventFilter(QObject *obj, QEvent *evt) 11 | { 12 | QWidget *w = (QWidget *)obj; 13 | if (!w->property("canMove").toBool()) { 14 | return QObject::eventFilter(obj, evt); 15 | } 16 | 17 | static QPoint mousePoint; 18 | static bool mousePressed = false; 19 | 20 | QMouseEvent *event = static_cast(evt); 21 | if (event->type() == QEvent::MouseButtonPress) { 22 | if (event->button() == Qt::LeftButton) { 23 | mousePressed = true; 24 | mousePoint = event->globalPos() - w->pos(); 25 | return true; 26 | } 27 | } else if (event->type() == QEvent::MouseButtonRelease) { 28 | mousePressed = false; 29 | return true; 30 | } else if (event->type() == QEvent::MouseMove) { 31 | if (mousePressed && (event->buttons() && Qt::LeftButton)) { 32 | w->move(event->globalPos() - mousePoint); 33 | return true; 34 | } 35 | } 36 | 37 | return QObject::eventFilter(obj, evt); 38 | } 39 | 40 | void AppInit::start() 41 | { 42 | qApp->installEventFilter(this); 43 | } 44 | -------------------------------------------------------------------------------- /appinit.h: -------------------------------------------------------------------------------- 1 | #ifndef APPINIT_H 2 | #define APPINIT_H 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | class AppInit : public QObject 9 | { 10 | Q_OBJECT 11 | public: 12 | explicit AppInit(QObject *parent = 0); 13 | static AppInit *Instance() { 14 | static QMutex mutex; 15 | if (!self) { 16 | QMutexLocker locker(&mutex); 17 | if (!self) { 18 | self = new AppInit; 19 | } 20 | } 21 | return self; 22 | } 23 | 24 | void start(); 25 | 26 | protected: 27 | bool eventFilter(QObject *obj, QEvent *evt); 28 | 29 | private: 30 | static AppInit *self; 31 | 32 | signals: 33 | 34 | public slots: 35 | }; 36 | 37 | #endif // APPINIT_H 38 | -------------------------------------------------------------------------------- /demo.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | demo/main_about.png 4 | demo/main_company.png 5 | demo/main_config.png 6 | demo/main_data.png 7 | demo/main_exit.png 8 | demo/main_help.png 9 | demo/main_main.png 10 | demo/main_person.png 11 | 12 | 13 | -------------------------------------------------------------------------------- /demo/main_about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/demo/main_about.png -------------------------------------------------------------------------------- /demo/main_company.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/demo/main_company.png -------------------------------------------------------------------------------- /demo/main_config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/demo/main_config.png -------------------------------------------------------------------------------- /demo/main_data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/demo/main_data.png -------------------------------------------------------------------------------- /demo/main_exit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/demo/main_exit.png -------------------------------------------------------------------------------- /demo/main_help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/demo/main_help.png -------------------------------------------------------------------------------- /demo/main_main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/demo/main_main.png -------------------------------------------------------------------------------- /demo/main_person.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/demo/main_person.png -------------------------------------------------------------------------------- /head.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #if (QT_VERSION > QT_VERSION_CHECK(5,0,0)) 6 | #include 7 | #endif 8 | 9 | #if _MSC_VER >= 1600 10 | #pragma execution_character_set("utf-8") 11 | #endif 12 | 13 | #define TIMEMS qPrintable (QTime::currentTime().toString("HH:mm:ss zzz")) 14 | #define TIME qPrintable (QTime::currentTime().toString("HH:mm:ss")) 15 | #define QDATE qPrintable (QDate::currentDate().toString("yyyy-MM-dd")) 16 | #define QTIME qPrintable (QTime::currentTime().toString("HH-mm-ss")) 17 | #define DATETIME qPrintable (QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")) 18 | #define STRDATETIME qPrintable (QDateTime::currentDateTime().toString("yyyy-MM-dd-HH-mm-ss")) 19 | #define STRDATETIMEMS qPrintable (QDateTime::currentDateTime().toString("yyyy-MM-dd-HH-mm-ss-zzz")) 20 | 21 | #define AppName "QUI" 22 | #define AppPath qApp->applicationDirPath() 23 | #define AppDeskWidth qApp->desktop()->availableGeometry().width() 24 | #define AppDeskHeight qApp->desktop()->availableGeometry().height() 25 | -------------------------------------------------------------------------------- /image.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | image/gametest.png 4 | image/gametest_focus.png 5 | image/infoextend.png 6 | image/infoextend_focus.png 7 | image/logo.png 8 | image/positiontest.png 9 | image/positiontest_focus.png 10 | image/speedtest.png 11 | image/speedtest_focus.png 12 | image/titleclose.png 13 | image/titlemax.png 14 | image/titlemenu.png 15 | image/titlemini.png 16 | image/troublecheck.png 17 | image/troublecheck_focus.png 18 | image/websitetest.png 19 | image/websitetest_focus.png 20 | image/wifitest.png 21 | image/wifitest_focus.png 22 | image/bj.png 23 | 24 | 25 | -------------------------------------------------------------------------------- /image/Font Awesome Cheatsheet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/Font Awesome Cheatsheet.png -------------------------------------------------------------------------------- /image/bj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/bj.png -------------------------------------------------------------------------------- /image/btn_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/btn_close.png -------------------------------------------------------------------------------- /image/btn_ok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/btn_ok.png -------------------------------------------------------------------------------- /image/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /image/gametest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/gametest.png -------------------------------------------------------------------------------- /image/gametest_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/gametest_focus.png -------------------------------------------------------------------------------- /image/infoextend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/infoextend.png -------------------------------------------------------------------------------- /image/infoextend_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/infoextend_focus.png -------------------------------------------------------------------------------- /image/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/logo.png -------------------------------------------------------------------------------- /image/msg_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/msg_error.png -------------------------------------------------------------------------------- /image/msg_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/msg_info.png -------------------------------------------------------------------------------- /image/msg_question.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/msg_question.png -------------------------------------------------------------------------------- /image/positiontest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/positiontest.png -------------------------------------------------------------------------------- /image/positiontest_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/positiontest_focus.png -------------------------------------------------------------------------------- /image/qt_zh_CN.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/qt_zh_CN.qm -------------------------------------------------------------------------------- /image/speedtest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/speedtest.png -------------------------------------------------------------------------------- /image/speedtest_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/speedtest_focus.png -------------------------------------------------------------------------------- /image/titleclose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/titleclose.png -------------------------------------------------------------------------------- /image/titlemax.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/titlemax.png -------------------------------------------------------------------------------- /image/titlemenu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/titlemenu.png -------------------------------------------------------------------------------- /image/titlemini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/titlemini.png -------------------------------------------------------------------------------- /image/troublecheck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/troublecheck.png -------------------------------------------------------------------------------- /image/troublecheck_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/troublecheck_focus.png -------------------------------------------------------------------------------- /image/websitetest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/websitetest.png -------------------------------------------------------------------------------- /image/websitetest_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/websitetest_focus.png -------------------------------------------------------------------------------- /image/widgets.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/widgets.qm -------------------------------------------------------------------------------- /image/wifitest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/wifitest.png -------------------------------------------------------------------------------- /image/wifitest_focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/image/wifitest_focus.png -------------------------------------------------------------------------------- /main.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "uidemo5.h" 3 | #include "appinit.h" 4 | #include "quiwidget.h" 5 | #include 6 | #include 7 | 8 | int main(int argc, char *argv[]) 9 | { 10 | QApplication a(argc, argv); 11 | a.setFont(QFont("Microsoft Yahei", 9)); 12 | a.setWindowIcon(QIcon(":/main.ico")); 13 | AppInit::Instance()->start(); 14 | UIDemo5 w; 15 | QUIWidget::setStyle(QUIWidget::Style_Black); 16 | w.show(); 17 | 18 | return a.exec(); 19 | } 20 | -------------------------------------------------------------------------------- /main.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/main.ico -------------------------------------------------------------------------------- /main.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | image/btn_close.png 4 | image/btn_ok.png 5 | image/fontawesome-webfont.ttf 6 | image/msg_error.png 7 | image/msg_info.png 8 | image/msg_question.png 9 | image/qt_zh_CN.qm 10 | main.ico 11 | image/widgets.qm 12 | 13 | 14 | -------------------------------------------------------------------------------- /main.rc: -------------------------------------------------------------------------------- 1 | IDI_ICON1 ICON "main.ico" -------------------------------------------------------------------------------- /navlistview.cpp: -------------------------------------------------------------------------------- 1 | #include "navlistview.h" 2 | #include "qfontdatabase.h" 3 | #include "qpainter.h" 4 | #include "qfile.h" 5 | #include "qdebug.h" 6 | 7 | NavDelegate::NavDelegate(QObject *parent) : QStyledItemDelegate(parent) 8 | { 9 | nav = (NavListView *)parent; 10 | 11 | //引入图形字体 12 | int fontId = QFontDatabase::addApplicationFont(":/image/fontawesome-webfont.ttf"); 13 | QString fontName = QFontDatabase::applicationFontFamilies(fontId).at(0); 14 | iconFont = QFont(fontName); 15 | } 16 | 17 | NavDelegate::~NavDelegate() 18 | { 19 | 20 | } 21 | 22 | QSize NavDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const 23 | { 24 | QSize size(50, 28); 25 | NavModel::TreeNode *node = (NavModel::TreeNode *)index.data(Qt::UserRole).toULongLong(); 26 | 27 | if (node->level == 1) { 28 | size = QSize(50, 35); 29 | } else { 30 | size = QSize(50, 28); 31 | } 32 | return size; 33 | } 34 | 35 | void NavDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const 36 | { 37 | painter->setRenderHint(QPainter::Antialiasing); 38 | NavModel::TreeNode *node = (NavModel::TreeNode *)index.data(Qt::UserRole).toULongLong(); 39 | 40 | //绘制背景 41 | QColor colorBg; 42 | 43 | if (option.state & QStyle::State_Selected) { 44 | colorBg = nav->getColorBgSelected(); 45 | } else if (option.state & QStyle::State_MouseOver) { 46 | colorBg = nav->getColorBgHover(); 47 | } else { 48 | colorBg = nav->getColorBgNormal(); 49 | } 50 | 51 | painter->fillRect(option.rect, colorBg); 52 | 53 | //绘制指示器 54 | if (node->children.size() != 0) { 55 | QPixmap pix(16, 16); 56 | pix.fill(Qt::transparent); 57 | QPainter p(&pix); 58 | p.setRenderHint(QPainter::Antialiasing); 59 | p.setFont(iconFont); 60 | 61 | //根据采用的背景色判断 62 | QColor icoColorSelected; 63 | QColor icoColorNormal; 64 | QColor icoColorHover; 65 | 66 | if (nav->getIcoColorBg()) { 67 | icoColorSelected = nav->getColorBgNormal(); 68 | icoColorNormal = nav->getColorBgSelected(); 69 | icoColorHover = nav->getColorBgNormal(); 70 | } else { 71 | icoColorSelected = nav->getColorTextSelected(); 72 | icoColorNormal = nav->getColorTextNormal(); 73 | icoColorHover = nav->getColorTextHover(); 74 | } 75 | 76 | if (option.state & QStyle::State_Selected) { 77 | p.setPen(icoColorSelected); 78 | } else if (option.state & QStyle::State_MouseOver) { 79 | p.setPen(icoColorHover); 80 | } else { 81 | p.setPen(icoColorNormal); 82 | } 83 | 84 | QFont font = p.font(); 85 | 86 | if (nav->getIcoStyle() == NavListView::IcoStyle_Cross) { 87 | font.setPixelSize(13); 88 | p.setFont(font); 89 | 90 | //绘制 + - 指示器 91 | if (node->collapse) { 92 | p.drawText(pix.rect(), Qt::AlignCenter, QChar(0xf067)); 93 | } else { 94 | p.drawText(pix.rect(), Qt::AlignCenter, QChar(0xf068)); 95 | } 96 | } else if (nav->getIcoStyle() == NavListView::IcoStyle_Triangle) { 97 | font.setPixelSize(18); 98 | p.setFont(font); 99 | 100 | //绘制三角形指示器 101 | if (node->collapse) { 102 | p.drawText(pix.rect(), Qt::AlignCenter, QChar(0xf0da)); 103 | } else { 104 | p.drawText(pix.rect(), Qt::AlignCenter, QChar(0xf0d7)); 105 | } 106 | } 107 | 108 | QPixmap img(pix); 109 | QRect targetRect = option.rect; 110 | targetRect.setWidth(16); 111 | targetRect.setHeight(16); 112 | QPoint c = option.rect.center(); 113 | c.setX(12); 114 | targetRect.moveCenter(c); 115 | painter->drawPixmap(targetRect, img, img.rect()); 116 | } 117 | 118 | //绘制条目文字 119 | QColor colorText; 120 | 121 | if (option.state & QStyle::State_Selected) { 122 | colorText = nav->getColorTextSelected(); 123 | } else if (option.state & QStyle::State_MouseOver) { 124 | colorText = nav->getColorTextHover(); 125 | } else { 126 | colorText = nav->getColorTextNormal(); 127 | } 128 | 129 | painter->setPen(QPen(colorText)); 130 | 131 | //绘制文字离左边的距离 132 | int margin = 20; 133 | 134 | if (node->level == 2) { 135 | margin = 40; 136 | } 137 | 138 | QRect rect = option.rect; 139 | rect.setWidth(rect.width() - margin); 140 | rect.setX(rect.x() + margin); 141 | 142 | QFont normalFont("Microsoft Yahei", 9); 143 | painter->setFont(normalFont); 144 | painter->drawText(rect, Qt::AlignLeft | Qt::AlignVCenter, index.data(Qt::DisplayRole).toString()); 145 | 146 | //绘制分隔符线条 147 | if (nav->getLineVisible()) { 148 | painter->setPen(QPen(nav->getColorLine(), 1)); 149 | 150 | if (node->level == 1 || (node->level == 2 && node->theLast)) { 151 | painter->drawLine(QPointF(option.rect.x(), option.rect.y() + option.rect.height()), 152 | QPointF(option.rect.x() + option.rect.width(), option.rect.y() + option.rect.height())); 153 | } 154 | } 155 | 156 | //绘制提示信息 157 | QString recordInfo = node->info; 158 | 159 | //如果不需要显示提示信息或者提示信息为空则返回 160 | if (!nav->getInfoVisible() || recordInfo.isEmpty()) { 161 | return; 162 | } 163 | 164 | QPen decorationPen(option.state & QStyle::State_Selected ? nav->getColorBgSelected() : nav->getColorTextSelected()); 165 | QBrush decorationBrush(option.state & QStyle::State_Selected ? nav->getColorTextSelected() : nav->getColorBgSelected()); 166 | QFont decorationFont("Microsoft Yahei", 8); 167 | painter->setFont(decorationFont); 168 | 169 | //绘制提示信息背景 170 | QRect decoration = option.rect; 171 | decoration.setHeight(15); 172 | decoration.moveCenter(option.rect.center()); 173 | decoration.setLeft(option.rect.right() - 45); 174 | decoration.setRight(option.rect.right() - 5); 175 | 176 | painter->setPen(decorationPen); 177 | QPainterPath path; 178 | path.addRoundedRect(decoration, 7, 7); 179 | painter->fillPath(path, decorationBrush); 180 | 181 | //如果是数字则将超过999的数字显示成 999+ 182 | if (recordInfo.toInt() > 999) { 183 | recordInfo = "999+"; 184 | } 185 | 186 | //如果显示的提示信息长度超过4则将多余显示成省略号.. 187 | if (recordInfo.length() > 4) { 188 | recordInfo = recordInfo.mid(0, 4) + ".."; 189 | } 190 | 191 | painter->drawText(decoration, Qt::AlignCenter, recordInfo); 192 | } 193 | 194 | 195 | NavModel::NavModel(QObject *parent) : QAbstractListModel(parent) 196 | { 197 | 198 | } 199 | 200 | NavModel::~NavModel() 201 | { 202 | for (std::vector::iterator it = treeNode.begin(); it != treeNode.end();) { 203 | for (std::list::iterator child = (*it)->children.begin(); child != (*it)->children.end();) { 204 | delete(*child); 205 | child = (*it)->children.erase(child); 206 | } 207 | 208 | delete(*it); 209 | it = treeNode.erase(it); 210 | } 211 | } 212 | 213 | void NavModel::setData(const QStringList &listItem) 214 | { 215 | int count = listItem.count(); 216 | 217 | if (count == 0) { 218 | return; 219 | } 220 | 221 | treeNode.clear(); 222 | listNode.clear(); 223 | 224 | //listItem格式: 标题|父节点标题(父节点为空)|是否展开|提示信息 225 | for (int i = 0; i < count; i++) { 226 | QString item = listItem.at(i); 227 | QStringList list = item.split("|"); 228 | 229 | if (list.count() < 4) { 230 | continue; 231 | } 232 | 233 | //首先先将父节点即父节点标题为空的元素加载完毕 234 | QString title = list.at(0); 235 | QString fatherTitle = list.at(1); 236 | QString collapse = list.at(2); 237 | QString info = list.at(3); 238 | 239 | if (fatherTitle.isEmpty()) { 240 | TreeNode *node = new TreeNode; 241 | node->label = title; 242 | node->collapse = collapse.toInt(); 243 | node->info = info; 244 | node->level = 1; 245 | 246 | //查找该父节点是否有对应子节点,有则加载 247 | for (int j = 0; j < count; j++) { 248 | QString secItem = listItem.at(j); 249 | QStringList secList = secItem.split("|"); 250 | 251 | if (secList.count() < 4) { 252 | continue; 253 | } 254 | 255 | QString secTitle = secList.at(0); 256 | QString secFatherTitle = secList.at(1); 257 | QString secInfo = secList.at(3); 258 | 259 | if (secFatherTitle == title) { 260 | TreeNode *secNode = new TreeNode; 261 | secNode->label = secTitle; 262 | secNode->info = secInfo; 263 | secNode->collapse = false; 264 | secNode->level = 2; 265 | secNode->theLast = (j == count - 1); 266 | node->children.push_back(secNode); 267 | } 268 | } 269 | 270 | treeNode.push_back(node); 271 | } 272 | } 273 | 274 | refreshList(); 275 | beginResetModel(); 276 | endResetModel(); 277 | } 278 | 279 | int NavModel::rowCount(const QModelIndex &parent) const 280 | { 281 | return listNode.size(); 282 | } 283 | 284 | QVariant NavModel::data(const QModelIndex &index, int role) const 285 | { 286 | if (!index.isValid()) { 287 | return QVariant(); 288 | } 289 | 290 | if (index.row() >= listNode.size() || index.row() < 0) { 291 | return QVariant(); 292 | } 293 | 294 | if (role == Qt::DisplayRole) { 295 | return listNode[index.row()].label; 296 | } else if (role == Qt::UserRole) { 297 | return (quint64)(listNode[index.row()].treeNode); 298 | } 299 | 300 | return QVariant(); 301 | } 302 | 303 | void NavModel::refreshList() 304 | { 305 | listNode.clear(); 306 | 307 | for (std::vector::iterator it = treeNode.begin(); it != treeNode.end(); ++it) { 308 | ListNode node; 309 | node.label = (*it)->label; 310 | node.treeNode = *it; 311 | 312 | listNode.push_back(node); 313 | 314 | if ((*it)->collapse) { 315 | continue; 316 | } 317 | 318 | for (std::list::iterator child = (*it)->children.begin(); child != (*it)->children.end(); ++child) { 319 | ListNode node; 320 | node.label = (*child)->label; 321 | node.treeNode = *child; 322 | node.treeNode->theLast = false; 323 | listNode.push_back(node); 324 | } 325 | 326 | if (!listNode.empty()) { 327 | listNode.back().treeNode->theLast = true; 328 | } 329 | } 330 | } 331 | 332 | void NavModel::collapse(const QModelIndex &index) 333 | { 334 | TreeNode *node = listNode[index.row()].treeNode; 335 | 336 | if (node->children.size() == 0) { 337 | return; 338 | } 339 | 340 | node->collapse = !node->collapse; 341 | refreshList(); 342 | 343 | if (!node->collapse) { 344 | beginInsertRows(QModelIndex(), index.row() + 1, index.row() + node->children.size()); 345 | endInsertRows(); 346 | } else { 347 | beginRemoveRows(QModelIndex(), index.row() + 1, index.row() + node->children.size()); 348 | endRemoveRows(); 349 | } 350 | } 351 | 352 | NavListView::NavListView(QWidget *parent) : QListView(parent) 353 | { 354 | infoVisible = true; 355 | lineVisible = true; 356 | icoColorBg = false; 357 | 358 | icoStyle = NavListView::IcoStyle_Cross; 359 | 360 | colorLine = QColor(115, 131, 147); 361 | 362 | colorBgNormal = QColor(102, 116, 129); 363 | colorBgSelected = QColor(58, 99, 115); 364 | colorBgHover = QColor(112, 128, 144); 365 | 366 | colorTextNormal = QColor(231, 236, 240); 367 | colorTextSelected = QColor(255, 255, 255); 368 | colorTextHover = QColor(232, 237, 241); 369 | 370 | this->setMouseTracking(true); 371 | model = new NavModel(this); 372 | delegate = new NavDelegate(this); 373 | connect(this, SIGNAL(doubleClicked(QModelIndex)), model, SLOT(collapse(QModelIndex))); 374 | } 375 | 376 | NavListView::~NavListView() 377 | { 378 | delete model; 379 | delete delegate; 380 | } 381 | 382 | bool NavListView::getInfoVisible() const 383 | { 384 | return this->infoVisible; 385 | } 386 | 387 | bool NavListView::getLineVisible() const 388 | { 389 | return this->lineVisible; 390 | } 391 | 392 | bool NavListView::getIcoColorBg() const 393 | { 394 | return this->icoColorBg; 395 | } 396 | 397 | NavListView::IcoStyle NavListView::getIcoStyle() const 398 | { 399 | return this->icoStyle; 400 | } 401 | 402 | QColor NavListView::getColorLine() const 403 | { 404 | return this->colorLine; 405 | } 406 | 407 | QColor NavListView::getColorBgNormal() const 408 | { 409 | return this->colorBgNormal; 410 | } 411 | 412 | QColor NavListView::getColorBgSelected() const 413 | { 414 | return this->colorBgSelected; 415 | } 416 | 417 | QColor NavListView::getColorBgHover() const 418 | { 419 | return this->colorBgHover; 420 | } 421 | 422 | QColor NavListView::getColorTextNormal() const 423 | { 424 | return this->colorTextNormal; 425 | } 426 | 427 | QColor NavListView::getColorTextSelected() const 428 | { 429 | return this->colorTextSelected; 430 | } 431 | 432 | QColor NavListView::getColorTextHover() const 433 | { 434 | return this->colorTextHover; 435 | } 436 | 437 | QSize NavListView::sizeHint() const 438 | { 439 | return QSize(200, 300); 440 | } 441 | 442 | QSize NavListView::minimumSizeHint() const 443 | { 444 | return QSize(20, 20); 445 | } 446 | 447 | void NavListView::setData(const QStringList &listItem) 448 | { 449 | model->setData(listItem); 450 | this->setModel(model); 451 | this->setItemDelegate(delegate); 452 | } 453 | 454 | void NavListView::setInfoVisible(bool infoVisible) 455 | { 456 | if (this->infoVisible != infoVisible) { 457 | this->infoVisible = infoVisible; 458 | } 459 | } 460 | 461 | void NavListView::setLineVisible(bool lineVisible) 462 | { 463 | if (this->lineVisible != lineVisible) { 464 | this->lineVisible = lineVisible; 465 | } 466 | } 467 | 468 | void NavListView::setIcoColorBg(bool icoColorBg) 469 | { 470 | if (this->icoColorBg != icoColorBg) { 471 | this->icoColorBg = icoColorBg; 472 | } 473 | } 474 | 475 | void NavListView::setIcoStyle(NavListView::IcoStyle icoStyle) 476 | { 477 | if (this->icoStyle != icoStyle) { 478 | this->icoStyle = icoStyle; 479 | } 480 | } 481 | 482 | void NavListView::setColorLine(const QColor &colorLine) 483 | { 484 | if (this->colorLine != colorLine) { 485 | this->colorLine = colorLine; 486 | } 487 | } 488 | 489 | void NavListView::setColorBgNormal(const QColor &colorBgNormal) 490 | { 491 | if (this->colorBgNormal != colorBgNormal) { 492 | this->colorBgNormal = colorBgNormal; 493 | } 494 | } 495 | 496 | void NavListView::setColorBgSelected(const QColor &colorBgSelected) 497 | { 498 | if (this->colorBgSelected != colorBgSelected) { 499 | this->colorBgSelected = colorBgSelected; 500 | } 501 | } 502 | 503 | void NavListView::setColorBgHover(const QColor &colorBgHover) 504 | { 505 | if (this->colorBgHover != colorBgHover) { 506 | this->colorBgHover = colorBgHover; 507 | } 508 | } 509 | 510 | void NavListView::setColorTextNormal(const QColor &colorTextNormal) 511 | { 512 | if (this->colorTextNormal != colorTextNormal) { 513 | this->colorTextNormal = colorTextNormal; 514 | } 515 | } 516 | 517 | void NavListView::setColorTextSelected(const QColor &colorTextSelected) 518 | { 519 | if (this->colorTextSelected != colorTextSelected) { 520 | this->colorTextSelected = colorTextSelected; 521 | } 522 | } 523 | 524 | void NavListView::setColorTextHover(const QColor &colorTextHover) 525 | { 526 | if (this->colorTextHover != colorTextHover) { 527 | this->colorTextHover = colorTextHover; 528 | } 529 | } 530 | -------------------------------------------------------------------------------- /navlistview.h: -------------------------------------------------------------------------------- 1 | #ifndef NAVLISTVIEW_H 2 | #define NAVLISTVIEW_H 3 | 4 | /** 5 | * 树状导航栏控件 作者:feiyangqingyun(QQ:517216493) 2016-10-28 6 | * 本控件来源于网络(原作者:sssooonnnggg(http://www.qtcn.org/bbs/read-htm-tid-58274-ds-1-page-1.html#163557)) 7 | * 1:合并成一个文件 8 | * 2:隐藏多余接口,只保留readData函数接口 9 | * 3:修正重复加载数据BUG及关闭时有时候崩溃的BUG 10 | * 4:修正当范围值中最小值为负数时的bug 11 | * 5:增加默认支持鼠标悬停 12 | * 6:增加一些完整性校验 13 | * 7:增加设置各种颜色 14 | * 8:+-伸缩图形改成绘制,同时支持+-图形及三角形图形 15 | * 9:增加setData数据接口,使之同时支持字符串链表作为数据源 16 | * 10:增加设置分割线条是否可见 17 | * 11:增加设置伸缩图片采用何种颜色 18 | * 12:改进分割线条高度 19 | * 13:将显示未读条数部分改成提示信息,可以是字符串 20 | */ 21 | //标题|父节点标题(父节点为空)|是否展开|提示信息 22 | #include 23 | #include 24 | #include 25 | #include 26 | 27 | class NavListView; 28 | 29 | class NavDelegate : public QStyledItemDelegate 30 | { 31 | Q_OBJECT 32 | public: 33 | NavDelegate(QObject *parent); 34 | ~NavDelegate(); 35 | 36 | protected: 37 | QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const ; 38 | void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; 39 | 40 | private: 41 | NavListView *nav; 42 | QFont iconFont; 43 | }; 44 | 45 | 46 | class NavModel : public QAbstractListModel 47 | { 48 | Q_OBJECT 49 | public: 50 | NavModel(QObject *parent); 51 | ~NavModel(); 52 | 53 | public: 54 | struct TreeNode { 55 | QString label; 56 | int level; 57 | bool collapse; 58 | bool theLast; 59 | QString info; 60 | std::list children; 61 | }; 62 | 63 | struct ListNode { 64 | QString label; 65 | TreeNode *treeNode; 66 | }; 67 | 68 | protected: 69 | int rowCount(const QModelIndex &parent) const; 70 | QVariant data(const QModelIndex &index, int role) const; 71 | 72 | private: 73 | std::vector treeNode; 74 | std::vector listNode; 75 | 76 | public slots: 77 | void setData(const QStringList &listItem); 78 | void collapse(const QModelIndex &index); 79 | 80 | private: 81 | void refreshList(); 82 | }; 83 | 84 | #ifdef quc 85 | #if (QT_VERSION < QT_VERSION_CHECK(5,7,0)) 86 | #include 87 | #else 88 | #include 89 | #endif 90 | 91 | class QDESIGNER_WIDGET_EXPORT NavListView : public QListView 92 | #else 93 | class NavListView : public QListView 94 | #endif 95 | 96 | { 97 | Q_OBJECT 98 | Q_ENUMS(IcoStyle) 99 | 100 | Q_PROPERTY(bool infoVisible READ getInfoVisible WRITE setInfoVisible) 101 | Q_PROPERTY(bool lineVisible READ getLineVisible WRITE setLineVisible) 102 | Q_PROPERTY(bool icoColorBg READ getIcoColorBg WRITE setIcoColorBg) 103 | Q_PROPERTY(IcoStyle icoStyle READ getIcoStyle WRITE setIcoStyle) 104 | 105 | Q_PROPERTY(QColor colorLine READ getColorLine WRITE setColorLine) 106 | Q_PROPERTY(QColor colorBgNormal READ getColorBgNormal WRITE setColorBgNormal) 107 | Q_PROPERTY(QColor colorBgSelected READ getColorBgSelected WRITE setColorBgSelected) 108 | Q_PROPERTY(QColor colorBgHover READ getColorBgHover WRITE setColorBgHover) 109 | 110 | Q_PROPERTY(QColor colorTextNormal READ getColorTextNormal WRITE setColorTextNormal) 111 | Q_PROPERTY(QColor colorTextSelected READ getColorTextSelected WRITE setColorTextSelected) 112 | Q_PROPERTY(QColor colorTextHover READ getColorTextHover WRITE setColorTextHover) 113 | 114 | public: 115 | enum IcoStyle { 116 | IcoStyle_Cross = 0, //十字形状 117 | IcoStyle_Triangle = 1 //三角形状 118 | }; 119 | 120 | NavListView(QWidget *parent = 0); 121 | ~NavListView(); 122 | 123 | private: 124 | NavModel *model; 125 | NavDelegate *delegate; 126 | 127 | bool infoVisible; //是否显示提示信息 128 | bool lineVisible; //是否显示分割线条 129 | bool icoColorBg; //伸缩图片是否使用颜色 130 | IcoStyle icoStyle; //图标样式 131 | 132 | QColor colorLine; //线条颜色 133 | QColor colorBgNormal; //正常背景色 134 | QColor colorBgSelected; //选中背景色 135 | QColor colorBgHover; //悬停背景色 136 | 137 | QColor colorTextNormal; //正常文字颜色 138 | QColor colorTextSelected; //选中文字颜色 139 | QColor colorTextHover; //悬停文字颜色 140 | 141 | public: 142 | bool getInfoVisible() const; 143 | bool getLineVisible() const; 144 | bool getIcoColorBg() const; 145 | IcoStyle getIcoStyle() const; 146 | 147 | QColor getColorLine() const; 148 | QColor getColorBgNormal() const; 149 | QColor getColorBgSelected() const; 150 | QColor getColorBgHover() const; 151 | 152 | QColor getColorTextNormal() const; 153 | QColor getColorTextSelected() const; 154 | QColor getColorTextHover() const; 155 | 156 | QSize sizeHint() const; 157 | QSize minimumSizeHint() const; 158 | 159 | public Q_SLOTS: 160 | //设置数据集合 161 | void setData(const QStringList &listItem); 162 | 163 | //设置是否显示提示信息 164 | void setInfoVisible(bool infoVisible); 165 | 166 | //设置是否显示间隔线条 167 | void setLineVisible(bool lineVisible); 168 | 169 | //设置伸缩图片是否采用背景色 170 | void setIcoColorBg(bool icoColorBg); 171 | 172 | //设置伸缩图片样式 173 | void setIcoStyle(IcoStyle icoStyle); 174 | 175 | //设置各种前景色背景色选中色 176 | void setColorLine(const QColor &colorLine); 177 | 178 | void setColorBgNormal(const QColor &colorBgNormal); 179 | void setColorBgSelected(const QColor &colorBgSelected); 180 | void setColorBgHover(const QColor &colorBgHover); 181 | 182 | void setColorTextNormal(const QColor &colorTextNormal); 183 | void setColorTextSelected(const QColor &colorTextSelected); 184 | void setColorTextHover(const QColor &colorTextHover); 185 | }; 186 | 187 | #endif // NAVLISTVIEW_H 188 | -------------------------------------------------------------------------------- /qss.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | qss/black.css 4 | qss/blue.css 5 | qss/darkblack.css 6 | qss/darkblue.css 7 | qss/darkgray.css 8 | qss/gray.css 9 | qss/lightblack.css 10 | qss/lightblue.css 11 | qss/lightgray.css 12 | qss/psblack.css 13 | qss/silvery.css 14 | qss/black/add_bottom.png 15 | qss/black/add_left.png 16 | qss/black/add_right.png 17 | qss/black/add_top.png 18 | qss/black/branch_close.png 19 | qss/black/branch_open.png 20 | qss/black/calendar_nextmonth.png 21 | qss/black/calendar_prevmonth.png 22 | qss/black/checkbox_checked.png 23 | qss/black/checkbox_checked_disable.png 24 | qss/black/checkbox_parcial.png 25 | qss/black/checkbox_parcial_disable.png 26 | qss/black/checkbox_unchecked.png 27 | qss/black/checkbox_unchecked_disable.png 28 | qss/black/radiobutton_checked.png 29 | qss/black/radiobutton_checked_disable.png 30 | qss/black/radiobutton_unchecked.png 31 | qss/black/radiobutton_unchecked_disable.png 32 | qss/blue/add_bottom.png 33 | qss/blue/add_left.png 34 | qss/blue/add_right.png 35 | qss/blue/add_top.png 36 | qss/blue/branch_close.png 37 | qss/blue/branch_open.png 38 | qss/blue/calendar_nextmonth.png 39 | qss/blue/calendar_prevmonth.png 40 | qss/blue/checkbox_checked.png 41 | qss/blue/checkbox_checked_disable.png 42 | qss/blue/checkbox_parcial.png 43 | qss/blue/checkbox_parcial_disable.png 44 | qss/blue/checkbox_unchecked.png 45 | qss/blue/checkbox_unchecked_disable.png 46 | qss/blue/radiobutton_checked.png 47 | qss/blue/radiobutton_checked_disable.png 48 | qss/blue/radiobutton_unchecked.png 49 | qss/blue/radiobutton_unchecked_disable.png 50 | qss/darkblack/add_bottom.png 51 | qss/darkblack/add_left.png 52 | qss/darkblack/add_right.png 53 | qss/darkblack/add_top.png 54 | qss/darkblack/branch_close.png 55 | qss/darkblack/branch_open.png 56 | qss/darkblack/calendar_nextmonth.png 57 | qss/darkblack/calendar_prevmonth.png 58 | qss/darkblack/checkbox_checked.png 59 | qss/darkblack/checkbox_checked_disable.png 60 | qss/darkblack/checkbox_parcial.png 61 | qss/darkblack/checkbox_parcial_disable.png 62 | qss/darkblack/checkbox_unchecked.png 63 | qss/darkblack/checkbox_unchecked_disable.png 64 | qss/darkblack/radiobutton_checked.png 65 | qss/darkblack/radiobutton_checked_disable.png 66 | qss/darkblack/radiobutton_unchecked.png 67 | qss/darkblack/radiobutton_unchecked_disable.png 68 | qss/darkblue/add_bottom.png 69 | qss/darkblue/add_left.png 70 | qss/darkblue/add_right.png 71 | qss/darkblue/add_top.png 72 | qss/darkblue/branch_close.png 73 | qss/darkblue/branch_open.png 74 | qss/darkblue/calendar_nextmonth.png 75 | qss/darkblue/calendar_prevmonth.png 76 | qss/darkblue/checkbox_checked.png 77 | qss/darkblue/checkbox_checked_disable.png 78 | qss/darkblue/checkbox_parcial.png 79 | qss/darkblue/checkbox_parcial_disable.png 80 | qss/darkblue/checkbox_unchecked.png 81 | qss/darkblue/checkbox_unchecked_disable.png 82 | qss/darkblue/radiobutton_checked.png 83 | qss/darkblue/radiobutton_checked_disable.png 84 | qss/darkblue/radiobutton_unchecked.png 85 | qss/darkblue/radiobutton_unchecked_disable.png 86 | qss/darkgray/add_bottom.png 87 | qss/darkgray/add_left.png 88 | qss/darkgray/add_right.png 89 | qss/darkgray/add_top.png 90 | qss/darkgray/branch_close.png 91 | qss/darkgray/branch_open.png 92 | qss/darkgray/calendar_nextmonth.png 93 | qss/darkgray/calendar_prevmonth.png 94 | qss/darkgray/checkbox_checked.png 95 | qss/darkgray/checkbox_checked_disable.png 96 | qss/darkgray/checkbox_parcial.png 97 | qss/darkgray/checkbox_parcial_disable.png 98 | qss/darkgray/checkbox_unchecked.png 99 | qss/darkgray/checkbox_unchecked_disable.png 100 | qss/darkgray/radiobutton_checked.png 101 | qss/darkgray/radiobutton_checked_disable.png 102 | qss/darkgray/radiobutton_unchecked.png 103 | qss/darkgray/radiobutton_unchecked_disable.png 104 | qss/gray/add_bottom.png 105 | qss/gray/add_left.png 106 | qss/gray/add_right.png 107 | qss/gray/add_top.png 108 | qss/gray/branch_close.png 109 | qss/gray/branch_open.png 110 | qss/gray/calendar_nextmonth.png 111 | qss/gray/calendar_prevmonth.png 112 | qss/gray/checkbox_checked.png 113 | qss/gray/checkbox_checked_disable.png 114 | qss/gray/checkbox_parcial.png 115 | qss/gray/checkbox_parcial_disable.png 116 | qss/gray/checkbox_unchecked.png 117 | qss/gray/checkbox_unchecked_disable.png 118 | qss/gray/radiobutton_checked.png 119 | qss/gray/radiobutton_checked_disable.png 120 | qss/gray/radiobutton_unchecked.png 121 | qss/gray/radiobutton_unchecked_disable.png 122 | qss/lightblack/add_bottom.png 123 | qss/lightblack/add_left.png 124 | qss/lightblack/add_right.png 125 | qss/lightblack/add_top.png 126 | qss/lightblack/branch_close.png 127 | qss/lightblack/branch_open.png 128 | qss/lightblack/calendar_nextmonth.png 129 | qss/lightblack/calendar_prevmonth.png 130 | qss/lightblack/checkbox_checked.png 131 | qss/lightblack/checkbox_checked_disable.png 132 | qss/lightblack/checkbox_parcial.png 133 | qss/lightblack/checkbox_parcial_disable.png 134 | qss/lightblack/checkbox_unchecked.png 135 | qss/lightblack/checkbox_unchecked_disable.png 136 | qss/lightblack/radiobutton_checked.png 137 | qss/lightblack/radiobutton_checked_disable.png 138 | qss/lightblack/radiobutton_unchecked.png 139 | qss/lightblack/radiobutton_unchecked_disable.png 140 | qss/lightblue/add_bottom.png 141 | qss/lightblue/add_left.png 142 | qss/lightblue/add_right.png 143 | qss/lightblue/add_top.png 144 | qss/lightblue/branch_close.png 145 | qss/lightblue/branch_open.png 146 | qss/lightblue/calendar_nextmonth.png 147 | qss/lightblue/calendar_prevmonth.png 148 | qss/lightblue/checkbox_checked.png 149 | qss/lightblue/checkbox_checked_disable.png 150 | qss/lightblue/checkbox_parcial.png 151 | qss/lightblue/checkbox_parcial_disable.png 152 | qss/lightblue/checkbox_unchecked.png 153 | qss/lightblue/checkbox_unchecked_disable.png 154 | qss/lightblue/radiobutton_checked.png 155 | qss/lightblue/radiobutton_checked_disable.png 156 | qss/lightblue/radiobutton_unchecked.png 157 | qss/lightblue/radiobutton_unchecked_disable.png 158 | qss/lightgray/add_bottom.png 159 | qss/lightgray/add_left.png 160 | qss/lightgray/add_right.png 161 | qss/lightgray/add_top.png 162 | qss/lightgray/branch_close.png 163 | qss/lightgray/branch_open.png 164 | qss/lightgray/calendar_nextmonth.png 165 | qss/lightgray/calendar_prevmonth.png 166 | qss/lightgray/checkbox_checked.png 167 | qss/lightgray/checkbox_checked_disable.png 168 | qss/lightgray/checkbox_parcial.png 169 | qss/lightgray/checkbox_parcial_disable.png 170 | qss/lightgray/checkbox_unchecked.png 171 | qss/lightgray/checkbox_unchecked_disable.png 172 | qss/lightgray/radiobutton_checked.png 173 | qss/lightgray/radiobutton_checked_disable.png 174 | qss/lightgray/radiobutton_unchecked.png 175 | qss/lightgray/radiobutton_unchecked_disable.png 176 | qss/psblack/add_bottom.png 177 | qss/psblack/add_left.png 178 | qss/psblack/add_right.png 179 | qss/psblack/add_top.png 180 | qss/psblack/branch_close.png 181 | qss/psblack/branch_open.png 182 | qss/psblack/calendar_nextmonth.png 183 | qss/psblack/calendar_prevmonth.png 184 | qss/psblack/checkbox_checked.png 185 | qss/psblack/checkbox_checked_disable.png 186 | qss/psblack/checkbox_parcial.png 187 | qss/psblack/checkbox_parcial_disable.png 188 | qss/psblack/checkbox_unchecked.png 189 | qss/psblack/checkbox_unchecked_disable.png 190 | qss/psblack/radiobutton_checked.png 191 | qss/psblack/radiobutton_checked_disable.png 192 | qss/psblack/radiobutton_unchecked.png 193 | qss/psblack/radiobutton_unchecked_disable.png 194 | qss/silvery/add_bottom.png 195 | qss/silvery/add_left.png 196 | qss/silvery/add_right.png 197 | qss/silvery/add_top.png 198 | qss/silvery/branch_close.png 199 | qss/silvery/branch_open.png 200 | qss/silvery/calendar_nextmonth.png 201 | qss/silvery/calendar_prevmonth.png 202 | qss/silvery/checkbox_checked.png 203 | qss/silvery/checkbox_checked_disable.png 204 | qss/silvery/checkbox_parcial.png 205 | qss/silvery/checkbox_parcial_disable.png 206 | qss/silvery/checkbox_unchecked.png 207 | qss/silvery/checkbox_unchecked_disable.png 208 | qss/silvery/radiobutton_checked.png 209 | qss/silvery/radiobutton_checked_disable.png 210 | qss/silvery/radiobutton_unchecked.png 211 | qss/silvery/radiobutton_unchecked_disable.png 212 | qss/flatblack.css 213 | qss/flatblack/add_bottom.png 214 | qss/flatblack/add_left.png 215 | qss/flatblack/add_right.png 216 | qss/flatblack/add_top.png 217 | qss/flatblack/branch_close.png 218 | qss/flatblack/branch_open.png 219 | qss/flatblack/calendar_nextmonth.png 220 | qss/flatblack/calendar_prevmonth.png 221 | qss/flatblack/checkbox_checked.png 222 | qss/flatblack/checkbox_checked_disable.png 223 | qss/flatblack/checkbox_parcial.png 224 | qss/flatblack/checkbox_parcial_disable.png 225 | qss/flatblack/checkbox_unchecked.png 226 | qss/flatblack/checkbox_unchecked_disable.png 227 | qss/flatblack/radiobutton_checked.png 228 | qss/flatblack/radiobutton_checked_disable.png 229 | qss/flatblack/radiobutton_unchecked.png 230 | qss/flatblack/radiobutton_unchecked_disable.png 231 | qss/flatwhite.css 232 | qss/flatwhite/add_bottom.png 233 | qss/flatwhite/add_left.png 234 | qss/flatwhite/add_right.png 235 | qss/flatwhite/add_top.png 236 | qss/flatwhite/branch_close.png 237 | qss/flatwhite/branch_open.png 238 | qss/flatwhite/calendar_nextmonth.png 239 | qss/flatwhite/calendar_prevmonth.png 240 | qss/flatwhite/checkbox_checked.png 241 | qss/flatwhite/checkbox_checked_disable.png 242 | qss/flatwhite/checkbox_parcial.png 243 | qss/flatwhite/checkbox_parcial_disable.png 244 | qss/flatwhite/checkbox_unchecked.png 245 | qss/flatwhite/checkbox_unchecked_disable.png 246 | qss/flatwhite/radiobutton_checked.png 247 | qss/flatwhite/radiobutton_checked_disable.png 248 | qss/flatwhite/radiobutton_unchecked.png 249 | qss/flatwhite/radiobutton_unchecked_disable.png 250 | qss/test/add_bottom.png 251 | qss/test/add_left.png 252 | qss/test/add_right.png 253 | qss/test/add_top.png 254 | qss/test/branch_close.png 255 | qss/test/branch_open.png 256 | qss/test/calendar_nextmonth.png 257 | qss/test/calendar_prevmonth.png 258 | qss/test/checkbox_checked.png 259 | qss/test/checkbox_checked_disable.png 260 | qss/test/checkbox_parcial.png 261 | qss/test/checkbox_parcial_disable.png 262 | qss/test/checkbox_unchecked.png 263 | qss/test/checkbox_unchecked_disable.png 264 | qss/test/radiobutton_checked.png 265 | qss/test/radiobutton_checked_disable.png 266 | qss/test/radiobutton_unchecked.png 267 | qss/test/radiobutton_unchecked_disable.png 268 | qss/test.css 269 | qss/bf.css 270 | qss/bf/add_bottom.png 271 | qss/bf/add_left.png 272 | qss/bf/add_right.png 273 | qss/bf/add_top.png 274 | qss/bf/branch_close.png 275 | qss/bf/branch_open.png 276 | qss/bf/calendar_nextmonth.png 277 | qss/bf/calendar_prevmonth.png 278 | qss/bf/checkbox_checked.png 279 | qss/bf/checkbox_checked_disable.png 280 | qss/bf/checkbox_parcial.png 281 | qss/bf/checkbox_parcial_disable.png 282 | qss/bf/checkbox_unchecked.png 283 | qss/bf/checkbox_unchecked_disable.png 284 | qss/bf/radiobutton_checked.png 285 | qss/bf/radiobutton_checked_disable.png 286 | qss/bf/radiobutton_unchecked.png 287 | qss/bf/radiobutton_unchecked_disable.png 288 | 289 | 290 | -------------------------------------------------------------------------------- /qss/bf.css: -------------------------------------------------------------------------------- 1 | QPalette{background:#2A2C32;}*{outline:0px;color:#FFFFFE;} 2 | 3 | QWidget[form="true"],QLabel[frameShape="1"]{ 4 | border:1px solid #2A2C32; 5 | border-radius:0px; 6 | } 7 | 8 | QWidget[form="bottom"]{ 9 | background:#383A42; 10 | } 11 | 12 | QWidget[form="bottom"] .QFrame{ 13 | border:1px solid #FFFFFE; 14 | } 15 | 16 | QWidget[form="bottom"] QLabel,QWidget[form="title"] QLabel{ 17 | border-radius:0px; 18 | color:#FFFFFE; 19 | background:none; 20 | border-style:none; 21 | } 22 | 23 | QWidget[form="title"],QWidget[nav="left"],QWidget[nav="top"] QAbstractButton{ 24 | border-style:none; 25 | border-radius:0px; 26 | padding:5px; 27 | color:#FFFFFE; 28 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #383A42,stop:1 #383A42); 29 | } 30 | 31 | QWidget[nav="top"] QAbstractButton:hover,QWidget[nav="top"] QAbstractButton:pressed,QWidget[nav="top"] QAbstractButton:checked{ 32 | border-style:solid; 33 | border-width:0px 0px 2px 0px; 34 | padding:4px 4px 2px 4px; 35 | border-color:#2C72F2; 36 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #181818,stop:1 #181818); 37 | } 38 | 39 | QWidget[nav="left"] QAbstractButton{ 40 | border-radius:0px; 41 | color:#FFFFFE; 42 | background:none; 43 | border-style:none; 44 | } 45 | 46 | QWidget[nav="left"] QAbstractButton:hover{ 47 | color:#FFFFFF; 48 | background-color:#2C72F2; 49 | } 50 | 51 | QWidget[nav="left"] QAbstractButton:checked,QWidget[nav="left"] QAbstractButton:pressed{ 52 | color:#FFFFFE; 53 | border-style:solid; 54 | border-width:0px 0px 0px 2px; 55 | padding:4px 4px 4px 2px; 56 | border-color:#2C72F2; 57 | background-color:#2A2C32; 58 | } 59 | 60 | QWidget[video="true"] QLabel{ 61 | color:#FFFFFE; 62 | border:1px solid #2A2C32; 63 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #383A42,stop:1 #383A42); 64 | } 65 | 66 | QWidget[video="true"] QLabel:focus{ 67 | border:1px solid #2C72F2; 68 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #181818,stop:1 #181818); 69 | } 70 | 71 | QLineEdit,QTextEdit,QPlainTextEdit,QSpinBox,QDoubleSpinBox,QComboBox,QDateEdit,QTimeEdit,QDateTimeEdit{ 72 | border:1px solid #2A2C32; 73 | border-radius:3px; 74 | padding:2px; 75 | background:none; 76 | selection-background-color:#383A42; 77 | selection-color:#FFFFFE; 78 | } 79 | 80 | QLineEdit:focus,QTextEdit:focus,QPlainTextEdit:focus,QSpinBox:focus,QDoubleSpinBox:focus,QComboBox:focus,QDateEdit:focus,QTimeEdit:focus,QDateTimeEdit:focus,QLineEdit:hover,QTextEdit:hover,QPlainTextEdit:hover,QSpinBox:hover,QDoubleSpinBox:hover,QComboBox:hover,QDateEdit:hover,QTimeEdit:hover,QDateTimeEdit:hover{ 81 | border:1px solid #2A2C32; 82 | } 83 | 84 | QLineEdit[echoMode="2"]{ 85 | lineedit-password-character:9679; 86 | } 87 | 88 | .QFrame{ 89 | border:1px solid #2A2C32; 90 | border-radius:3px; 91 | } 92 | 93 | .QGroupBox{ 94 | border:1px solid #2A2C32; 95 | border-radius:5px; 96 | margin-top:3ex; 97 | } 98 | 99 | .QGroupBox::title{ 100 | subcontrol-origin:margin; 101 | position:relative; 102 | left:10px; 103 | } 104 | 105 | .QPushButton,.QToolButton{ 106 | border-style:none; 107 | border:1px solid #2A2C32; 108 | color:#FFFFFE; 109 | padding:5px; 110 | min-height:15px; 111 | border-radius:5px; 112 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #383A42,stop:1 #383A42); 113 | } 114 | 115 | .QPushButton:hover,.QToolButton:hover{ 116 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #181818,stop:1 #181818); 117 | } 118 | 119 | .QPushButton:pressed,.QToolButton:pressed{ 120 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #383A42,stop:1 #383A42); 121 | } 122 | 123 | .QToolButton::menu-indicator{ 124 | image:None; 125 | } 126 | 127 | QToolButton#btnMenu,QPushButton#btnMenu_Min,QPushButton#btnMenu_Max,QPushButton#btnMenu_Close{ 128 | border-radius:3px; 129 | color:#FFFFFE; 130 | padding:3px; 131 | margin:0px; 132 | background:none; 133 | border-style:none; 134 | } 135 | 136 | QToolButton#btnMenu:hover,QPushButton#btnMenu_Min:hover,QPushButton#btnMenu_Max:hover{ 137 | color:#FFFFFF; 138 | margin:1px 1px 2px 1px; 139 | background-color:rgba(51,127,209,230); 140 | } 141 | 142 | QPushButton#btnMenu_Close:hover{ 143 | color:#FFFFFF; 144 | margin:1px 1px 2px 1px; 145 | background-color:rgba(238,0,0,128); 146 | } 147 | 148 | QRadioButton::indicator{ 149 | width:15px; 150 | height:15px; 151 | } 152 | 153 | QRadioButton::indicator::unchecked{ 154 | image:url(:/qss/bf/radiobutton_unchecked.png); 155 | } 156 | 157 | QRadioButton::indicator::unchecked:disabled{ 158 | image:url(:/qss/bf/radiobutton_unchecked_disable.png); 159 | } 160 | 161 | QRadioButton::indicator::checked{ 162 | image:url(:/qss/bf/radiobutton_checked.png); 163 | } 164 | 165 | QRadioButton::indicator::checked:disabled{ 166 | image:url(:/qss/bf/radiobutton_checked_disable.png); 167 | } 168 | 169 | QGroupBox::indicator,QTreeWidget::indicator,QListWidget::indicator{ 170 | padding:0px -3px 0px 3px; 171 | } 172 | 173 | QCheckBox::indicator,QGroupBox::indicator,QTreeWidget::indicator,QListWidget::indicator{ 174 | width:13px; 175 | height:13px; 176 | } 177 | 178 | QCheckBox::indicator:unchecked,QGroupBox::indicator:unchecked,QTreeWidget::indicator:unchecked,QListWidget::indicator:unchecked{ 179 | image:url(:/qss/bf/checkbox_unchecked.png); 180 | } 181 | 182 | QCheckBox::indicator:unchecked:disabled,QGroupBox::indicator:unchecked:disabled,QTreeWidget::indicator:unchecked:disabled,QListWidget::indicator:disabled{ 183 | image:url(:/qss/bf/checkbox_unchecked_disable.png); 184 | } 185 | 186 | QCheckBox::indicator:checked,QGroupBox::indicator:checked,QTreeWidget::indicator:checked,QListWidget::indicator:checked{ 187 | image:url(:/qss/bf/checkbox_checked.png); 188 | } 189 | 190 | QCheckBox::indicator:checked:disabled,QGroupBox::indicator:checked:disabled,QTreeWidget::indicator:checked:disabled,QListWidget::indicator:checked:disabled{ 191 | image:url(:/qss/bf/checkbox_checked_disable.png); 192 | } 193 | 194 | QCheckBox::indicator:indeterminate,QGroupBox::indicator:indeterminate,QTreeWidget::indicator:indeterminate,QListWidget::indicator:indeterminate{ 195 | image:url(:/qss/bf/checkbox_parcial.png); 196 | } 197 | 198 | QCheckBox::indicator:indeterminate:disabled,QGroupBox::indicator:indeterminate:disabled,QTreeWidget::indicator:indeterminate:disabled,QListWidget::indicator:indeterminate:disabled{ 199 | image:url(:/qss/bf/checkbox_parcial_disable.png); 200 | } 201 | 202 | QTimeEdit::up-button,QDateEdit::up-button,QDateTimeEdit::up-button,QDoubleSpinBox::up-button,QSpinBox::up-button{ 203 | image:url(:/qss/bf/add_top.png); 204 | width:10px; 205 | height:10px; 206 | padding:2px 5px 0px 0px; 207 | } 208 | 209 | QTimeEdit::down-button,QDateEdit::down-button,QDateTimeEdit::down-button,QDoubleSpinBox::down-button,QSpinBox::down-button{ 210 | image:url(:/qss/bf/add_bottom.png); 211 | width:10px; 212 | height:10px; 213 | padding:0px 5px 2px 0px; 214 | } 215 | 216 | QTimeEdit::up-button:pressed,QDateEdit::up-button:pressed,QDateTimeEdit::up-button:pressed,QDoubleSpinBox::up-button:pressed,QSpinBox::up-button:pressed{ 217 | top:-2px; 218 | } 219 | 220 | QTimeEdit::down-button:pressed,QDateEdit::down-button:pressed,QDateTimeEdit::down-button:pressed,QDoubleSpinBox::down-button:pressed,QSpinBox::down-button:pressed,QSpinBox::down-button:pressed{ 221 | bottom:-2px; 222 | } 223 | 224 | QComboBox::down-arrow,QDateEdit[calendarPopup="true"]::down-arrow,QTimeEdit[calendarPopup="true"]::down-arrow,QDateTimeEdit[calendarPopup="true"]::down-arrow{ 225 | image:url(:/qss/bf/add_bottom.png); 226 | width:10px; 227 | height:10px; 228 | right:2px; 229 | } 230 | 231 | QComboBox::drop-down,QDateEdit::drop-down,QTimeEdit::drop-down,QDateTimeEdit::drop-down{ 232 | subcontrol-origin:padding; 233 | subcontrol-position:top right; 234 | width:15px; 235 | border-left-width:0px; 236 | border-left-style:solid; 237 | border-top-right-radius:3px; 238 | border-bottom-right-radius:3px; 239 | border-left-color:#2A2C32; 240 | } 241 | 242 | QComboBox::drop-down:on{ 243 | top:1px; 244 | } 245 | 246 | QMenuBar::item{ 247 | color:#FFFFFE; 248 | background-color:#383A42; 249 | margin:0px; 250 | padding:3px 10px; 251 | } 252 | 253 | QMenu,QMenuBar,QMenu:disabled,QMenuBar:disabled{ 254 | color:#FFFFFE; 255 | background-color:#383A42; 256 | border:1px solid #2A2C32; 257 | margin:0px; 258 | } 259 | 260 | QMenu::item{ 261 | padding:3px 20px; 262 | } 263 | 264 | QMenu::indicator{ 265 | width:13px; 266 | height:13px; 267 | } 268 | 269 | QMenu::item:selected,QMenuBar::item:selected{ 270 | color:#FFFFFE; 271 | border:0px solid #2A2C32; 272 | background:#181818; 273 | } 274 | 275 | QMenu::separator{ 276 | height:1px; 277 | background:#2A2C32; 278 | } 279 | 280 | QProgressBar{ 281 | min-height:10px; 282 | background:#383A42; 283 | border-radius:5px; 284 | text-align:center; 285 | border:1px solid #383A42; 286 | } 287 | 288 | QProgressBar:chunk{ 289 | border-radius:5px; 290 | background-color:#2A2C32; 291 | } 292 | 293 | QSlider::groove:horizontal{ 294 | background:#383A42; 295 | height:8px; 296 | border-radius:4px; 297 | } 298 | 299 | QSlider::add-page:horizontal{ 300 | background:#383A42; 301 | height:8px; 302 | border-radius:4px; 303 | } 304 | 305 | QSlider::sub-page:horizontal{ 306 | background:#2A2C32; 307 | height:8px; 308 | border-radius:4px; 309 | } 310 | 311 | QSlider::handle:horizontal{ 312 | width:13px; 313 | margin-top:-3px; 314 | margin-bottom:-3px; 315 | border-radius:6px; 316 | background:qradialgradient(spread:pad,cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0.6 #2A2C32,stop:0.8 #2A2C32); 317 | } 318 | 319 | QSlider::groove:vertical{ 320 | width:8px; 321 | border-radius:4px; 322 | background:#383A42; 323 | } 324 | 325 | QSlider::add-page:vertical{ 326 | width:8px; 327 | border-radius:4px; 328 | background:#383A42; 329 | } 330 | 331 | QSlider::sub-page:vertical{ 332 | width:8px; 333 | border-radius:4px; 334 | background:#2A2C32; 335 | } 336 | 337 | QSlider::handle:vertical{ 338 | height:14px; 339 | margin-left:-3px; 340 | margin-right:-3px; 341 | border-radius:6px; 342 | background:qradialgradient(spread:pad,cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0.6 #2A2C32,stop:0.8 #2A2C32); 343 | } 344 | 345 | QScrollBar:horizontal{ 346 | background:#383A42; 347 | padding:0px; 348 | border-radius:6px; 349 | max-height:12px; 350 | } 351 | 352 | QScrollBar::handle:horizontal{ 353 | background:#181818; 354 | min-width:50px; 355 | border-radius:6px; 356 | } 357 | 358 | QScrollBar::handle:horizontal:hover{ 359 | background:#2A2C32; 360 | } 361 | 362 | QScrollBar::handle:horizontal:pressed{ 363 | background:#2A2C32; 364 | } 365 | 366 | QScrollBar::add-page:horizontal{ 367 | background:none; 368 | } 369 | 370 | QScrollBar::sub-page:horizontal{ 371 | background:none; 372 | } 373 | 374 | QScrollBar::add-line:horizontal{ 375 | background:none; 376 | } 377 | 378 | QScrollBar::sub-line:horizontal{ 379 | background:none; 380 | } 381 | 382 | QScrollBar:vertical{ 383 | background:#383A42; 384 | padding:0px; 385 | border-radius:6px; 386 | max-width:12px; 387 | } 388 | 389 | QScrollBar::handle:vertical{ 390 | background:#181818; 391 | min-height:50px; 392 | border-radius:6px; 393 | } 394 | 395 | QScrollBar::handle:vertical:hover{ 396 | background:#2A2C32; 397 | } 398 | 399 | QScrollBar::handle:vertical:pressed{ 400 | background:#2A2C32; 401 | } 402 | 403 | QScrollBar::add-page:vertical{ 404 | background:none; 405 | } 406 | 407 | QScrollBar::sub-page:vertical{ 408 | background:none; 409 | } 410 | 411 | QScrollBar::add-line:vertical{ 412 | background:none; 413 | } 414 | 415 | QScrollBar::sub-line:vertical{ 416 | background:none; 417 | } 418 | 419 | QScrollArea{ 420 | border:0px; 421 | } 422 | 423 | QTreeView,QListView,QTableView,QTabWidget::pane{ 424 | border:1px solid #2A2C32; 425 | selection-background-color:#181818; 426 | selection-color:#FFFFFE; 427 | alternate-background-color:#181818; 428 | gridline-color:#2A2C32; 429 | } 430 | 431 | QTreeView::branch:closed:has-children{ 432 | margin:4px; 433 | border-image:url(:/qss/bf/branch_open.png); 434 | } 435 | 436 | QTreeView::branch:open:has-children{ 437 | margin:4px; 438 | border-image:url(:/qss/bf/branch_close.png); 439 | } 440 | 441 | QTreeView,QListView,QTableView,QSplitter::handle,QTreeView::branch{ 442 | background:#2A2C32; 443 | } 444 | 445 | QTableView::item:selected,QListView::item:selected,QTreeView::item:selected{ 446 | color:#FFFFFE; 447 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #383A42,stop:1 #383A42); 448 | } 449 | 450 | QTableView::item:hover,QListView::item:hover,QTreeView::item:hover{ 451 | color:#FFFFFE; 452 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #181818,stop:1 #181818); 453 | } 454 | 455 | QTableView::item,QListView::item,QTreeView::item{ 456 | padding:1px; 457 | margin:0px; 458 | } 459 | 460 | QHeaderView::section,QTableCornerButton:section{ 461 | padding:3px; 462 | margin:0px; 463 | color:#FFFFFE; 464 | border:1px solid #2A2C32; 465 | border-left-width:0px; 466 | border-right-width:1px; 467 | border-top-width:0px; 468 | border-bottom-width:1px; 469 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #181818,stop:1 #181818); 470 | } 471 | 472 | QTabBar::tab{ 473 | border:1px solid #2A2C32; 474 | color:#FFFFFE; 475 | margin:0px; 476 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #181818,stop:1 #181818); 477 | } 478 | 479 | QTabBar::tab:selected,QTabBar::tab:hover{ 480 | border-style:solid; 481 | border-color:#2C72F2; 482 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #383A42,stop:1 #383A42); 483 | } 484 | 485 | QTabBar::tab:top,QTabBar::tab:bottom{ 486 | padding:3px 8px 3px 8px; 487 | } 488 | 489 | QTabBar::tab:left,QTabBar::tab:right{ 490 | padding:8px 3px 8px 3px; 491 | } 492 | 493 | QTabBar::tab:top:selected,QTabBar::tab:top:hover{ 494 | border-width:2px 0px 0px 0px; 495 | } 496 | 497 | QTabBar::tab:right:selected,QTabBar::tab:right:hover{ 498 | border-width:0px 0px 0px 2px; 499 | } 500 | 501 | QTabBar::tab:bottom:selected,QTabBar::tab:bottom:hover{ 502 | border-width:0px 0px 2px 0px; 503 | } 504 | 505 | QTabBar::tab:left:selected,QTabBar::tab:left:hover{ 506 | border-width:0px 2px 0px 0px; 507 | } 508 | 509 | QTabBar::tab:first:top:selected,QTabBar::tab:first:top:hover,QTabBar::tab:first:bottom:selected,QTabBar::tab:first:bottom:hover{ 510 | border-left-width:1px; 511 | border-left-color:#2A2C32; 512 | } 513 | 514 | QTabBar::tab:first:left:selected,QTabBar::tab:first:left:hover,QTabBar::tab:first:right:selected,QTabBar::tab:first:right:hover{ 515 | border-top-width:1px; 516 | border-top-color:#2A2C32; 517 | } 518 | 519 | QTabBar::tab:last:top:selected,QTabBar::tab:last:top:hover,QTabBar::tab:last:bottom:selected,QTabBar::tab:last:bottom:hover{ 520 | border-right-width:1px; 521 | border-right-color:#2A2C32; 522 | } 523 | 524 | QTabBar::tab:last:left:selected,QTabBar::tab:last:left:hover,QTabBar::tab:last:right:selected,QTabBar::tab:last:right:hover{ 525 | border-bottom-width:1px; 526 | border-bottom-color:#2A2C32; 527 | } 528 | 529 | QStatusBar::item{ 530 | border:0px solid #383A42; 531 | border-radius:3px; 532 | } 533 | 534 | QToolBox::tab,QGroupBox#gboxDevicePanel,QGroupBox#gboxDeviceTitle,QFrame#gboxDevicePanel,QFrame#gboxDeviceTitle{ 535 | padding:3px; 536 | border-radius:5px; 537 | color:#FFFFFE; 538 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #383A42,stop:1 #383A42); 539 | } 540 | 541 | QToolTip{ 542 | border:0px solid #FFFFFE; 543 | padding:1px; 544 | color:#FFFFFE; 545 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #383A42,stop:1 #383A42); 546 | } 547 | 548 | QToolBox::tab:selected{ 549 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #181818,stop:1 #181818); 550 | } 551 | 552 | QPrintPreviewDialog QToolButton{ 553 | border:0px solid #FFFFFE; 554 | border-radius:0px; 555 | margin:0px; 556 | padding:3px; 557 | background:none; 558 | } 559 | 560 | QColorDialog QPushButton,QFileDialog QPushButton{ 561 | min-width:80px; 562 | } 563 | 564 | QToolButton#qt_calendar_prevmonth{ 565 | icon-size:0px; 566 | min-width:20px; 567 | image:url(:/qss/bf/calendar_prevmonth.png); 568 | } 569 | 570 | QToolButton#qt_calendar_nextmonth{ 571 | icon-size:0px; 572 | min-width:20px; 573 | image:url(:/qss/bf/calendar_nextmonth.png); 574 | } 575 | 576 | QToolButton#qt_calendar_prevmonth,QToolButton#qt_calendar_nextmonth,QToolButton#qt_calendar_monthbutton,QToolButton#qt_calendar_yearbutton{ 577 | border:0px solid #FFFFFE; 578 | border-radius:3px; 579 | margin:3px 3px 3px 3px; 580 | padding:3px; 581 | background:none; 582 | } 583 | 584 | QToolButton#qt_calendar_prevmonth:hover,QToolButton#qt_calendar_nextmonth:hover,QToolButton#qt_calendar_monthbutton:hover,QToolButton#qt_calendar_yearbutton:hover,QToolButton#qt_calendar_prevmonth:pressed,QToolButton#qt_calendar_nextmonth:pressed,QToolButton#qt_calendar_monthbutton:pressed,QToolButton#qt_calendar_yearbutton:pressed{ 585 | border:1px solid #2A2C32; 586 | } 587 | 588 | QCalendarWidget QSpinBox#qt_calendar_yearedit{ 589 | margin:2px; 590 | } 591 | 592 | QCalendarWidget QToolButton::menu-indicator{ 593 | image:None; 594 | } 595 | 596 | QCalendarWidget QTableView{ 597 | border-width:0px; 598 | } 599 | 600 | QCalendarWidget QWidget#qt_calendar_navigationbar{ 601 | border:1px solid #2A2C32; 602 | border-width:1px 1px 0px 1px; 603 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #383A42,stop:1 #383A42); 604 | } 605 | 606 | QComboBox QAbstractItemView::item{ 607 | min-height:20px; 608 | min-width:10px; 609 | } 610 | 611 | QTableView[model="true"]::item{ 612 | padding:0px; 613 | margin:0px; 614 | } 615 | 616 | QTableView QLineEdit,QTableView QComboBox,QTableView QSpinBox,QTableView QDoubleSpinBox,QTableView QDateEdit,QTableView QTimeEdit,QTableView QDateTimeEdit{ 617 | border-width:0px; 618 | border-radius:0px; 619 | } 620 | 621 | QTableView QLineEdit:focus,QTableView QComboBox:focus,QTableView QSpinBox:focus,QTableView QDoubleSpinBox:focus,QTableView QDateEdit:focus,QTableView QTimeEdit:focus,QTableView QDateTimeEdit:focus{ 622 | border-width:0px; 623 | border-radius:0px; 624 | } 625 | 626 | QLineEdit,QTextEdit,QPlainTextEdit,QSpinBox,QDoubleSpinBox,QComboBox,QDateEdit,QTimeEdit,QDateTimeEdit{ 627 | background:#2A2C32; 628 | } 629 | 630 | *:disabled{ 631 | background:#2A2C32; 632 | border-color:#383A42; 633 | } 634 | 635 | /*TextColor:#FFFFFE*/ 636 | /*PanelColor:#2A2C32*/ 637 | /*BorderColor:#2A2C32*/ 638 | /*NormalColorStart:#383A42*/ 639 | /*NormalColorEnd:#383A42*/ 640 | /*DarkColorStart:#181818*/ 641 | /*DarkColorEnd:#181818*/ 642 | /*HighColor:#2C72F2*/ -------------------------------------------------------------------------------- /qss/bf/add_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/bf/add_bottom.png -------------------------------------------------------------------------------- /qss/bf/add_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/bf/add_left.png -------------------------------------------------------------------------------- /qss/bf/add_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/bf/add_right.png -------------------------------------------------------------------------------- /qss/bf/add_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/bf/add_top.png -------------------------------------------------------------------------------- /qss/bf/branch_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/bf/branch_close.png -------------------------------------------------------------------------------- /qss/bf/branch_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/bf/branch_open.png -------------------------------------------------------------------------------- /qss/bf/calendar_nextmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/bf/calendar_nextmonth.png -------------------------------------------------------------------------------- /qss/bf/calendar_prevmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/bf/calendar_prevmonth.png -------------------------------------------------------------------------------- /qss/bf/checkbox_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/bf/checkbox_checked.png -------------------------------------------------------------------------------- /qss/bf/checkbox_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/bf/checkbox_checked_disable.png -------------------------------------------------------------------------------- /qss/bf/checkbox_parcial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/bf/checkbox_parcial.png -------------------------------------------------------------------------------- /qss/bf/checkbox_parcial_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/bf/checkbox_parcial_disable.png -------------------------------------------------------------------------------- /qss/bf/checkbox_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/bf/checkbox_unchecked.png -------------------------------------------------------------------------------- /qss/bf/checkbox_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/bf/checkbox_unchecked_disable.png -------------------------------------------------------------------------------- /qss/bf/radiobutton_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/bf/radiobutton_checked.png -------------------------------------------------------------------------------- /qss/bf/radiobutton_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/bf/radiobutton_checked_disable.png -------------------------------------------------------------------------------- /qss/bf/radiobutton_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/bf/radiobutton_unchecked.png -------------------------------------------------------------------------------- /qss/bf/radiobutton_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/bf/radiobutton_unchecked_disable.png -------------------------------------------------------------------------------- /qss/black/add_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/black/add_bottom.png -------------------------------------------------------------------------------- /qss/black/add_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/black/add_left.png -------------------------------------------------------------------------------- /qss/black/add_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/black/add_right.png -------------------------------------------------------------------------------- /qss/black/add_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/black/add_top.png -------------------------------------------------------------------------------- /qss/black/branch_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/black/branch_close.png -------------------------------------------------------------------------------- /qss/black/branch_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/black/branch_open.png -------------------------------------------------------------------------------- /qss/black/calendar_nextmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/black/calendar_nextmonth.png -------------------------------------------------------------------------------- /qss/black/calendar_prevmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/black/calendar_prevmonth.png -------------------------------------------------------------------------------- /qss/black/checkbox_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/black/checkbox_checked.png -------------------------------------------------------------------------------- /qss/black/checkbox_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/black/checkbox_checked_disable.png -------------------------------------------------------------------------------- /qss/black/checkbox_parcial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/black/checkbox_parcial.png -------------------------------------------------------------------------------- /qss/black/checkbox_parcial_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/black/checkbox_parcial_disable.png -------------------------------------------------------------------------------- /qss/black/checkbox_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/black/checkbox_unchecked.png -------------------------------------------------------------------------------- /qss/black/checkbox_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/black/checkbox_unchecked_disable.png -------------------------------------------------------------------------------- /qss/black/radiobutton_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/black/radiobutton_checked.png -------------------------------------------------------------------------------- /qss/black/radiobutton_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/black/radiobutton_checked_disable.png -------------------------------------------------------------------------------- /qss/black/radiobutton_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/black/radiobutton_unchecked.png -------------------------------------------------------------------------------- /qss/black/radiobutton_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/black/radiobutton_unchecked_disable.png -------------------------------------------------------------------------------- /qss/blue.css: -------------------------------------------------------------------------------- 1 | QPalette{background:#CFDDEE;}*{outline:0px;color:#324C6C;} 2 | 3 | QWidget[form="true"],QLabel[frameShape="1"]{ 4 | border:1px solid #7F9AB8; 5 | border-radius:0px; 6 | } 7 | 8 | QWidget[form="bottom"]{ 9 | background:#C0D3EB; 10 | } 11 | 12 | QWidget[form="bottom"] .QFrame{ 13 | border:1px solid #324C6C; 14 | } 15 | 16 | QWidget[form="bottom"] QLabel,QWidget[form="title"] QLabel{ 17 | border-radius:0px; 18 | color:#324C6C; 19 | background:none; 20 | border-style:none; 21 | } 22 | 23 | QWidget[form="title"],QWidget[nav="left"],QWidget[nav="top"] QAbstractButton{ 24 | border-style:none; 25 | border-radius:0px; 26 | padding:5px; 27 | color:#324C6C; 28 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #C0D3EB,stop:1 #BCCFE7); 29 | } 30 | 31 | QWidget[nav="top"] QAbstractButton:hover,QWidget[nav="top"] QAbstractButton:pressed,QWidget[nav="top"] QAbstractButton:checked{ 32 | border-style:solid; 33 | border-width:0px 0px 2px 0px; 34 | padding:4px 4px 2px 4px; 35 | border-color:#00BB9E; 36 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #D2E3F5,stop:1 #CADDF3); 37 | } 38 | 39 | QWidget[nav="left"] QAbstractButton{ 40 | border-radius:0px; 41 | color:#324C6C; 42 | background:none; 43 | border-style:none; 44 | } 45 | 46 | QWidget[nav="left"] QAbstractButton:hover{ 47 | color:#FFFFFF; 48 | background-color:#00BB9E; 49 | } 50 | 51 | QWidget[nav="left"] QAbstractButton:checked,QWidget[nav="left"] QAbstractButton:pressed{ 52 | color:#324C6C; 53 | border-style:solid; 54 | border-width:0px 0px 0px 2px; 55 | padding:4px 4px 4px 2px; 56 | border-color:#00BB9E; 57 | background-color:#CFDDEE; 58 | } 59 | 60 | QWidget[video="true"] QLabel{ 61 | color:#324C6C; 62 | border:1px solid #7F9AB8; 63 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #C0D3EB,stop:1 #BCCFE7); 64 | } 65 | 66 | QWidget[video="true"] QLabel:focus{ 67 | border:1px solid #00BB9E; 68 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #D2E3F5,stop:1 #CADDF3); 69 | } 70 | 71 | QLineEdit,QTextEdit,QPlainTextEdit,QSpinBox,QDoubleSpinBox,QComboBox,QDateEdit,QTimeEdit,QDateTimeEdit{ 72 | border:1px solid #7F9AB8; 73 | border-radius:3px; 74 | padding:2px; 75 | background:none; 76 | selection-background-color:#C0D3EB; 77 | selection-color:#324C6C; 78 | } 79 | 80 | QLineEdit:focus,QTextEdit:focus,QPlainTextEdit:focus,QSpinBox:focus,QDoubleSpinBox:focus,QComboBox:focus,QDateEdit:focus,QTimeEdit:focus,QDateTimeEdit:focus,QLineEdit:hover,QTextEdit:hover,QPlainTextEdit:hover,QSpinBox:hover,QDoubleSpinBox:hover,QComboBox:hover,QDateEdit:hover,QTimeEdit:hover,QDateTimeEdit:hover{ 81 | border:1px solid #7F9AB8; 82 | } 83 | 84 | QLineEdit[echoMode="2"]{ 85 | lineedit-password-character:9679; 86 | } 87 | 88 | .QFrame{ 89 | border:1px solid #7F9AB8; 90 | border-radius:3px; 91 | } 92 | 93 | .QGroupBox{ 94 | border:1px solid #7F9AB8; 95 | border-radius:5px; 96 | margin-top:3ex; 97 | } 98 | 99 | .QGroupBox::title{ 100 | subcontrol-origin:margin; 101 | position:relative; 102 | left:10px; 103 | } 104 | 105 | .QPushButton,.QToolButton{ 106 | border-style:none; 107 | border:1px solid #7F9AB8; 108 | color:#324C6C; 109 | padding:5px; 110 | min-height:15px; 111 | border-radius:5px; 112 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #C0D3EB,stop:1 #BCCFE7); 113 | } 114 | 115 | .QPushButton:hover,.QToolButton:hover{ 116 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #D2E3F5,stop:1 #CADDF3); 117 | } 118 | 119 | .QPushButton:pressed,.QToolButton:pressed{ 120 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #C0D3EB,stop:1 #BCCFE7); 121 | } 122 | 123 | .QToolButton::menu-indicator{ 124 | image:None; 125 | } 126 | 127 | QToolButton#btnMenu,QPushButton#btnMenu_Min,QPushButton#btnMenu_Max,QPushButton#btnMenu_Close{ 128 | border-radius:3px; 129 | color:#324C6C; 130 | padding:3px; 131 | margin:0px; 132 | background:none; 133 | border-style:none; 134 | } 135 | 136 | QToolButton#btnMenu:hover,QPushButton#btnMenu_Min:hover,QPushButton#btnMenu_Max:hover{ 137 | color:#FFFFFF; 138 | margin:1px 1px 2px 1px; 139 | background-color:rgba(51,127,209,230); 140 | } 141 | 142 | QPushButton#btnMenu_Close:hover{ 143 | color:#FFFFFF; 144 | margin:1px 1px 2px 1px; 145 | background-color:rgba(238,0,0,128); 146 | } 147 | 148 | QRadioButton::indicator{ 149 | width:15px; 150 | height:15px; 151 | } 152 | 153 | QRadioButton::indicator::unchecked{ 154 | image:url(:/qss/blue/radiobutton_unchecked.png); 155 | } 156 | 157 | QRadioButton::indicator::unchecked:disabled{ 158 | image:url(:/qss/blue/radiobutton_unchecked_disable.png); 159 | } 160 | 161 | QRadioButton::indicator::checked{ 162 | image:url(:/qss/blue/radiobutton_checked.png); 163 | } 164 | 165 | QRadioButton::indicator::checked:disabled{ 166 | image:url(:/qss/blue/radiobutton_checked_disable.png); 167 | } 168 | 169 | QGroupBox::indicator,QTreeWidget::indicator,QListWidget::indicator{ 170 | padding:0px -3px 0px 3px; 171 | } 172 | 173 | QCheckBox::indicator,QGroupBox::indicator,QTreeWidget::indicator,QListWidget::indicator{ 174 | width:13px; 175 | height:13px; 176 | } 177 | 178 | QCheckBox::indicator:unchecked,QGroupBox::indicator:unchecked,QTreeWidget::indicator:unchecked,QListWidget::indicator:unchecked{ 179 | image:url(:/qss/blue/checkbox_unchecked.png); 180 | } 181 | 182 | QCheckBox::indicator:unchecked:disabled,QGroupBox::indicator:unchecked:disabled,QTreeWidget::indicator:unchecked:disabled,QListWidget::indicator:disabled{ 183 | image:url(:/qss/blue/checkbox_unchecked_disable.png); 184 | } 185 | 186 | QCheckBox::indicator:checked,QGroupBox::indicator:checked,QTreeWidget::indicator:checked,QListWidget::indicator:checked{ 187 | image:url(:/qss/blue/checkbox_checked.png); 188 | } 189 | 190 | QCheckBox::indicator:checked:disabled,QGroupBox::indicator:checked:disabled,QTreeWidget::indicator:checked:disabled,QListWidget::indicator:checked:disabled{ 191 | image:url(:/qss/blue/checkbox_checked_disable.png); 192 | } 193 | 194 | QCheckBox::indicator:indeterminate,QGroupBox::indicator:indeterminate,QTreeWidget::indicator:indeterminate,QListWidget::indicator:indeterminate{ 195 | image:url(:/qss/blue/checkbox_parcial.png); 196 | } 197 | 198 | QCheckBox::indicator:indeterminate:disabled,QGroupBox::indicator:indeterminate:disabled,QTreeWidget::indicator:indeterminate:disabled,QListWidget::indicator:indeterminate:disabled{ 199 | image:url(:/qss/blue/checkbox_parcial_disable.png); 200 | } 201 | 202 | QTimeEdit::up-button,QDateEdit::up-button,QDateTimeEdit::up-button,QDoubleSpinBox::up-button,QSpinBox::up-button{ 203 | image:url(:/qss/blue/add_top.png); 204 | width:10px; 205 | height:10px; 206 | padding:2px 5px 0px 0px; 207 | } 208 | 209 | QTimeEdit::down-button,QDateEdit::down-button,QDateTimeEdit::down-button,QDoubleSpinBox::down-button,QSpinBox::down-button{ 210 | image:url(:/qss/blue/add_bottom.png); 211 | width:10px; 212 | height:10px; 213 | padding:0px 5px 2px 0px; 214 | } 215 | 216 | QTimeEdit::up-button:pressed,QDateEdit::up-button:pressed,QDateTimeEdit::up-button:pressed,QDoubleSpinBox::up-button:pressed,QSpinBox::up-button:pressed{ 217 | top:-2px; 218 | } 219 | 220 | QTimeEdit::down-button:pressed,QDateEdit::down-button:pressed,QDateTimeEdit::down-button:pressed,QDoubleSpinBox::down-button:pressed,QSpinBox::down-button:pressed,QSpinBox::down-button:pressed{ 221 | bottom:-2px; 222 | } 223 | 224 | QComboBox::down-arrow,QDateEdit[calendarPopup="true"]::down-arrow,QTimeEdit[calendarPopup="true"]::down-arrow,QDateTimeEdit[calendarPopup="true"]::down-arrow{ 225 | image:url(:/qss/blue/add_bottom.png); 226 | width:10px; 227 | height:10px; 228 | right:2px; 229 | } 230 | 231 | QComboBox::drop-down,QDateEdit::drop-down,QTimeEdit::drop-down,QDateTimeEdit::drop-down{ 232 | subcontrol-origin:padding; 233 | subcontrol-position:top right; 234 | width:15px; 235 | border-left-width:0px; 236 | border-left-style:solid; 237 | border-top-right-radius:3px; 238 | border-bottom-right-radius:3px; 239 | border-left-color:#7F9AB8; 240 | } 241 | 242 | QComboBox::drop-down:on{ 243 | top:1px; 244 | } 245 | 246 | QMenuBar::item{ 247 | color:#324C6C; 248 | background-color:#C0D3EB; 249 | margin:0px; 250 | padding:3px 10px; 251 | } 252 | 253 | QMenu,QMenuBar,QMenu:disabled,QMenuBar:disabled{ 254 | color:#324C6C; 255 | background-color:#C0D3EB; 256 | border:1px solid #7F9AB8; 257 | margin:0px; 258 | } 259 | 260 | QMenu::item{ 261 | padding:3px 20px; 262 | } 263 | 264 | QMenu::indicator{ 265 | width:13px; 266 | height:13px; 267 | } 268 | 269 | QMenu::item:selected,QMenuBar::item:selected{ 270 | color:#324C6C; 271 | border:0px solid #7F9AB8; 272 | background:#D2E3F5; 273 | } 274 | 275 | QMenu::separator{ 276 | height:1px; 277 | background:#7F9AB8; 278 | } 279 | 280 | QProgressBar{ 281 | min-height:10px; 282 | background:#C0D3EB; 283 | border-radius:5px; 284 | text-align:center; 285 | border:1px solid #C0D3EB; 286 | } 287 | 288 | QProgressBar:chunk{ 289 | border-radius:5px; 290 | background-color:#7F9AB8; 291 | } 292 | 293 | QSlider::groove:horizontal{ 294 | background:#C0D3EB; 295 | height:8px; 296 | border-radius:4px; 297 | } 298 | 299 | QSlider::add-page:horizontal{ 300 | background:#C0D3EB; 301 | height:8px; 302 | border-radius:4px; 303 | } 304 | 305 | QSlider::sub-page:horizontal{ 306 | background:#7F9AB8; 307 | height:8px; 308 | border-radius:4px; 309 | } 310 | 311 | QSlider::handle:horizontal{ 312 | width:13px; 313 | margin-top:-3px; 314 | margin-bottom:-3px; 315 | border-radius:6px; 316 | background:qradialgradient(spread:pad,cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0.6 #CFDDEE,stop:0.8 #7F9AB8); 317 | } 318 | 319 | QSlider::groove:vertical{ 320 | width:8px; 321 | border-radius:4px; 322 | background:#C0D3EB; 323 | } 324 | 325 | QSlider::add-page:vertical{ 326 | width:8px; 327 | border-radius:4px; 328 | background:#C0D3EB; 329 | } 330 | 331 | QSlider::sub-page:vertical{ 332 | width:8px; 333 | border-radius:4px; 334 | background:#7F9AB8; 335 | } 336 | 337 | QSlider::handle:vertical{ 338 | height:14px; 339 | margin-left:-3px; 340 | margin-right:-3px; 341 | border-radius:6px; 342 | background:qradialgradient(spread:pad,cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0.6 #CFDDEE,stop:0.8 #7F9AB8); 343 | } 344 | 345 | QScrollBar:horizontal{ 346 | background:#C0D3EB; 347 | padding:0px; 348 | border-radius:6px; 349 | max-height:12px; 350 | } 351 | 352 | QScrollBar::handle:horizontal{ 353 | background:#CADDF3; 354 | min-width:50px; 355 | border-radius:6px; 356 | } 357 | 358 | QScrollBar::handle:horizontal:hover{ 359 | background:#7F9AB8; 360 | } 361 | 362 | QScrollBar::handle:horizontal:pressed{ 363 | background:#7F9AB8; 364 | } 365 | 366 | QScrollBar::add-page:horizontal{ 367 | background:none; 368 | } 369 | 370 | QScrollBar::sub-page:horizontal{ 371 | background:none; 372 | } 373 | 374 | QScrollBar::add-line:horizontal{ 375 | background:none; 376 | } 377 | 378 | QScrollBar::sub-line:horizontal{ 379 | background:none; 380 | } 381 | 382 | QScrollBar:vertical{ 383 | background:#C0D3EB; 384 | padding:0px; 385 | border-radius:6px; 386 | max-width:12px; 387 | } 388 | 389 | QScrollBar::handle:vertical{ 390 | background:#CADDF3; 391 | min-height:50px; 392 | border-radius:6px; 393 | } 394 | 395 | QScrollBar::handle:vertical:hover{ 396 | background:#7F9AB8; 397 | } 398 | 399 | QScrollBar::handle:vertical:pressed{ 400 | background:#7F9AB8; 401 | } 402 | 403 | QScrollBar::add-page:vertical{ 404 | background:none; 405 | } 406 | 407 | QScrollBar::sub-page:vertical{ 408 | background:none; 409 | } 410 | 411 | QScrollBar::add-line:vertical{ 412 | background:none; 413 | } 414 | 415 | QScrollBar::sub-line:vertical{ 416 | background:none; 417 | } 418 | 419 | QScrollArea{ 420 | border:0px; 421 | } 422 | 423 | QTreeView,QListView,QTableView,QTabWidget::pane{ 424 | border:1px solid #7F9AB8; 425 | selection-background-color:#D2E3F5; 426 | selection-color:#324C6C; 427 | alternate-background-color:#CADDF3; 428 | gridline-color:#7F9AB8; 429 | } 430 | 431 | QTreeView::branch:closed:has-children{ 432 | margin:4px; 433 | border-image:url(:/qss/blue/branch_open.png); 434 | } 435 | 436 | QTreeView::branch:open:has-children{ 437 | margin:4px; 438 | border-image:url(:/qss/blue/branch_close.png); 439 | } 440 | 441 | QTreeView,QListView,QTableView,QSplitter::handle,QTreeView::branch{ 442 | background:#CFDDEE; 443 | } 444 | 445 | QTableView::item:selected,QListView::item:selected,QTreeView::item:selected{ 446 | color:#324C6C; 447 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #C0D3EB,stop:1 #BCCFE7); 448 | } 449 | 450 | QTableView::item:hover,QListView::item:hover,QTreeView::item:hover{ 451 | color:#324C6C; 452 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #D2E3F5,stop:1 #CADDF3); 453 | } 454 | 455 | QTableView::item,QListView::item,QTreeView::item{ 456 | padding:1px; 457 | margin:0px; 458 | } 459 | 460 | QHeaderView::section,QTableCornerButton:section{ 461 | padding:3px; 462 | margin:0px; 463 | color:#324C6C; 464 | border:1px solid #7F9AB8; 465 | border-left-width:0px; 466 | border-right-width:1px; 467 | border-top-width:0px; 468 | border-bottom-width:1px; 469 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #D2E3F5,stop:1 #CADDF3); 470 | } 471 | 472 | QTabBar::tab{ 473 | border:1px solid #7F9AB8; 474 | color:#324C6C; 475 | margin:0px; 476 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #D2E3F5,stop:1 #CADDF3); 477 | } 478 | 479 | QTabBar::tab:selected,QTabBar::tab:hover{ 480 | border-style:solid; 481 | border-color:#00BB9E; 482 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #C0D3EB,stop:1 #BCCFE7); 483 | } 484 | 485 | QTabBar::tab:top,QTabBar::tab:bottom{ 486 | padding:3px 8px 3px 8px; 487 | } 488 | 489 | QTabBar::tab:left,QTabBar::tab:right{ 490 | padding:8px 3px 8px 3px; 491 | } 492 | 493 | QTabBar::tab:top:selected,QTabBar::tab:top:hover{ 494 | border-width:2px 0px 0px 0px; 495 | } 496 | 497 | QTabBar::tab:right:selected,QTabBar::tab:right:hover{ 498 | border-width:0px 0px 0px 2px; 499 | } 500 | 501 | QTabBar::tab:bottom:selected,QTabBar::tab:bottom:hover{ 502 | border-width:0px 0px 2px 0px; 503 | } 504 | 505 | QTabBar::tab:left:selected,QTabBar::tab:left:hover{ 506 | border-width:0px 2px 0px 0px; 507 | } 508 | 509 | QTabBar::tab:first:top:selected,QTabBar::tab:first:top:hover,QTabBar::tab:first:bottom:selected,QTabBar::tab:first:bottom:hover{ 510 | border-left-width:1px; 511 | border-left-color:#7F9AB8; 512 | } 513 | 514 | QTabBar::tab:first:left:selected,QTabBar::tab:first:left:hover,QTabBar::tab:first:right:selected,QTabBar::tab:first:right:hover{ 515 | border-top-width:1px; 516 | border-top-color:#7F9AB8; 517 | } 518 | 519 | QTabBar::tab:last:top:selected,QTabBar::tab:last:top:hover,QTabBar::tab:last:bottom:selected,QTabBar::tab:last:bottom:hover{ 520 | border-right-width:1px; 521 | border-right-color:#7F9AB8; 522 | } 523 | 524 | QTabBar::tab:last:left:selected,QTabBar::tab:last:left:hover,QTabBar::tab:last:right:selected,QTabBar::tab:last:right:hover{ 525 | border-bottom-width:1px; 526 | border-bottom-color:#7F9AB8; 527 | } 528 | 529 | QStatusBar::item{ 530 | border:0px solid #C0D3EB; 531 | border-radius:3px; 532 | } 533 | 534 | QToolBox::tab,QGroupBox#gboxDevicePanel,QGroupBox#gboxDeviceTitle,QFrame#gboxDevicePanel,QFrame#gboxDeviceTitle{ 535 | padding:3px; 536 | border-radius:5px; 537 | color:#324C6C; 538 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #C0D3EB,stop:1 #BCCFE7); 539 | } 540 | 541 | QToolTip{ 542 | border:0px solid #324C6C; 543 | padding:1px; 544 | color:#324C6C; 545 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #C0D3EB,stop:1 #BCCFE7); 546 | } 547 | 548 | QToolBox::tab:selected{ 549 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #D2E3F5,stop:1 #CADDF3); 550 | } 551 | 552 | QPrintPreviewDialog QToolButton{ 553 | border:0px solid #324C6C; 554 | border-radius:0px; 555 | margin:0px; 556 | padding:3px; 557 | background:none; 558 | } 559 | 560 | QColorDialog QPushButton,QFileDialog QPushButton{ 561 | min-width:80px; 562 | } 563 | 564 | QToolButton#qt_calendar_prevmonth{ 565 | icon-size:0px; 566 | min-width:20px; 567 | image:url(:/qss/blue/calendar_prevmonth.png); 568 | } 569 | 570 | QToolButton#qt_calendar_nextmonth{ 571 | icon-size:0px; 572 | min-width:20px; 573 | image:url(:/qss/blue/calendar_nextmonth.png); 574 | } 575 | 576 | QToolButton#qt_calendar_prevmonth,QToolButton#qt_calendar_nextmonth,QToolButton#qt_calendar_monthbutton,QToolButton#qt_calendar_yearbutton{ 577 | border:0px solid #324C6C; 578 | border-radius:3px; 579 | margin:3px 3px 3px 3px; 580 | padding:3px; 581 | background:none; 582 | } 583 | 584 | QToolButton#qt_calendar_prevmonth:hover,QToolButton#qt_calendar_nextmonth:hover,QToolButton#qt_calendar_monthbutton:hover,QToolButton#qt_calendar_yearbutton:hover,QToolButton#qt_calendar_prevmonth:pressed,QToolButton#qt_calendar_nextmonth:pressed,QToolButton#qt_calendar_monthbutton:pressed,QToolButton#qt_calendar_yearbutton:pressed{ 585 | border:1px solid #7F9AB8; 586 | } 587 | 588 | QCalendarWidget QSpinBox#qt_calendar_yearedit{ 589 | margin:2px; 590 | } 591 | 592 | QCalendarWidget QToolButton::menu-indicator{ 593 | image:None; 594 | } 595 | 596 | QCalendarWidget QTableView{ 597 | border-width:0px; 598 | } 599 | 600 | QCalendarWidget QWidget#qt_calendar_navigationbar{ 601 | border:1px solid #7F9AB8; 602 | border-width:1px 1px 0px 1px; 603 | background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #C0D3EB,stop:1 #BCCFE7); 604 | } 605 | 606 | QComboBox QAbstractItemView::item{ 607 | min-height:20px; 608 | min-width:10px; 609 | } 610 | 611 | QTableView[model="true"]::item{ 612 | padding:0px; 613 | margin:0px; 614 | } 615 | 616 | QTableView QLineEdit,QTableView QComboBox,QTableView QSpinBox,QTableView QDoubleSpinBox,QTableView QDateEdit,QTableView QTimeEdit,QTableView QDateTimeEdit{ 617 | border-width:0px; 618 | border-radius:0px; 619 | } 620 | 621 | QTableView QLineEdit:focus,QTableView QComboBox:focus,QTableView QSpinBox:focus,QTableView QDoubleSpinBox:focus,QTableView QDateEdit:focus,QTableView QTimeEdit:focus,QTableView QDateTimeEdit:focus{ 622 | border-width:0px; 623 | border-radius:0px; 624 | } 625 | 626 | QLineEdit,QTextEdit,QPlainTextEdit,QSpinBox,QDoubleSpinBox,QComboBox,QDateEdit,QTimeEdit,QDateTimeEdit{ 627 | background:#CFDDEE; 628 | } 629 | 630 | *:disabled{ 631 | background:#CFDDEE; 632 | border-color:#C0D3EB; 633 | } 634 | 635 | /*TextColor:#324C6C*/ 636 | /*PanelColor:#CFDDEE*/ 637 | /*BorderColor:#7F9AB8*/ 638 | /*NormalColorStart:#C0D3EB*/ 639 | /*NormalColorEnd:#BCCFE7*/ 640 | /*DarkColorStart:#D2E3F5*/ 641 | /*DarkColorEnd:#CADDF3*/ 642 | /*HighColor:#00BB9E*/ -------------------------------------------------------------------------------- /qss/blue/add_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/blue/add_bottom.png -------------------------------------------------------------------------------- /qss/blue/add_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/blue/add_left.png -------------------------------------------------------------------------------- /qss/blue/add_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/blue/add_right.png -------------------------------------------------------------------------------- /qss/blue/add_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/blue/add_top.png -------------------------------------------------------------------------------- /qss/blue/branch_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/blue/branch_close.png -------------------------------------------------------------------------------- /qss/blue/branch_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/blue/branch_open.png -------------------------------------------------------------------------------- /qss/blue/calendar_nextmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/blue/calendar_nextmonth.png -------------------------------------------------------------------------------- /qss/blue/calendar_prevmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/blue/calendar_prevmonth.png -------------------------------------------------------------------------------- /qss/blue/checkbox_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/blue/checkbox_checked.png -------------------------------------------------------------------------------- /qss/blue/checkbox_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/blue/checkbox_checked_disable.png -------------------------------------------------------------------------------- /qss/blue/checkbox_parcial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/blue/checkbox_parcial.png -------------------------------------------------------------------------------- /qss/blue/checkbox_parcial_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/blue/checkbox_parcial_disable.png -------------------------------------------------------------------------------- /qss/blue/checkbox_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/blue/checkbox_unchecked.png -------------------------------------------------------------------------------- /qss/blue/checkbox_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/blue/checkbox_unchecked_disable.png -------------------------------------------------------------------------------- /qss/blue/radiobutton_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/blue/radiobutton_checked.png -------------------------------------------------------------------------------- /qss/blue/radiobutton_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/blue/radiobutton_checked_disable.png -------------------------------------------------------------------------------- /qss/blue/radiobutton_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/blue/radiobutton_unchecked.png -------------------------------------------------------------------------------- /qss/blue/radiobutton_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/blue/radiobutton_unchecked_disable.png -------------------------------------------------------------------------------- /qss/darkblack/add_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblack/add_bottom.png -------------------------------------------------------------------------------- /qss/darkblack/add_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblack/add_left.png -------------------------------------------------------------------------------- /qss/darkblack/add_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblack/add_right.png -------------------------------------------------------------------------------- /qss/darkblack/add_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblack/add_top.png -------------------------------------------------------------------------------- /qss/darkblack/branch_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblack/branch_close.png -------------------------------------------------------------------------------- /qss/darkblack/branch_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblack/branch_open.png -------------------------------------------------------------------------------- /qss/darkblack/calendar_nextmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblack/calendar_nextmonth.png -------------------------------------------------------------------------------- /qss/darkblack/calendar_prevmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblack/calendar_prevmonth.png -------------------------------------------------------------------------------- /qss/darkblack/checkbox_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblack/checkbox_checked.png -------------------------------------------------------------------------------- /qss/darkblack/checkbox_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblack/checkbox_checked_disable.png -------------------------------------------------------------------------------- /qss/darkblack/checkbox_parcial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblack/checkbox_parcial.png -------------------------------------------------------------------------------- /qss/darkblack/checkbox_parcial_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblack/checkbox_parcial_disable.png -------------------------------------------------------------------------------- /qss/darkblack/checkbox_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblack/checkbox_unchecked.png -------------------------------------------------------------------------------- /qss/darkblack/checkbox_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblack/checkbox_unchecked_disable.png -------------------------------------------------------------------------------- /qss/darkblack/radiobutton_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblack/radiobutton_checked.png -------------------------------------------------------------------------------- /qss/darkblack/radiobutton_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblack/radiobutton_checked_disable.png -------------------------------------------------------------------------------- /qss/darkblack/radiobutton_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblack/radiobutton_unchecked.png -------------------------------------------------------------------------------- /qss/darkblack/radiobutton_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblack/radiobutton_unchecked_disable.png -------------------------------------------------------------------------------- /qss/darkblue/add_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblue/add_bottom.png -------------------------------------------------------------------------------- /qss/darkblue/add_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblue/add_left.png -------------------------------------------------------------------------------- /qss/darkblue/add_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblue/add_right.png -------------------------------------------------------------------------------- /qss/darkblue/add_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblue/add_top.png -------------------------------------------------------------------------------- /qss/darkblue/branch_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblue/branch_close.png -------------------------------------------------------------------------------- /qss/darkblue/branch_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblue/branch_open.png -------------------------------------------------------------------------------- /qss/darkblue/calendar_nextmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblue/calendar_nextmonth.png -------------------------------------------------------------------------------- /qss/darkblue/calendar_prevmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblue/calendar_prevmonth.png -------------------------------------------------------------------------------- /qss/darkblue/checkbox_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblue/checkbox_checked.png -------------------------------------------------------------------------------- /qss/darkblue/checkbox_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblue/checkbox_checked_disable.png -------------------------------------------------------------------------------- /qss/darkblue/checkbox_parcial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblue/checkbox_parcial.png -------------------------------------------------------------------------------- /qss/darkblue/checkbox_parcial_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblue/checkbox_parcial_disable.png -------------------------------------------------------------------------------- /qss/darkblue/checkbox_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblue/checkbox_unchecked.png -------------------------------------------------------------------------------- /qss/darkblue/checkbox_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblue/checkbox_unchecked_disable.png -------------------------------------------------------------------------------- /qss/darkblue/radiobutton_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblue/radiobutton_checked.png -------------------------------------------------------------------------------- /qss/darkblue/radiobutton_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblue/radiobutton_checked_disable.png -------------------------------------------------------------------------------- /qss/darkblue/radiobutton_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblue/radiobutton_unchecked.png -------------------------------------------------------------------------------- /qss/darkblue/radiobutton_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkblue/radiobutton_unchecked_disable.png -------------------------------------------------------------------------------- /qss/darkgray/add_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkgray/add_bottom.png -------------------------------------------------------------------------------- /qss/darkgray/add_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkgray/add_left.png -------------------------------------------------------------------------------- /qss/darkgray/add_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkgray/add_right.png -------------------------------------------------------------------------------- /qss/darkgray/add_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkgray/add_top.png -------------------------------------------------------------------------------- /qss/darkgray/branch_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkgray/branch_close.png -------------------------------------------------------------------------------- /qss/darkgray/branch_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkgray/branch_open.png -------------------------------------------------------------------------------- /qss/darkgray/calendar_nextmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkgray/calendar_nextmonth.png -------------------------------------------------------------------------------- /qss/darkgray/calendar_prevmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkgray/calendar_prevmonth.png -------------------------------------------------------------------------------- /qss/darkgray/checkbox_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkgray/checkbox_checked.png -------------------------------------------------------------------------------- /qss/darkgray/checkbox_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkgray/checkbox_checked_disable.png -------------------------------------------------------------------------------- /qss/darkgray/checkbox_parcial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkgray/checkbox_parcial.png -------------------------------------------------------------------------------- /qss/darkgray/checkbox_parcial_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkgray/checkbox_parcial_disable.png -------------------------------------------------------------------------------- /qss/darkgray/checkbox_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkgray/checkbox_unchecked.png -------------------------------------------------------------------------------- /qss/darkgray/checkbox_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkgray/checkbox_unchecked_disable.png -------------------------------------------------------------------------------- /qss/darkgray/radiobutton_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkgray/radiobutton_checked.png -------------------------------------------------------------------------------- /qss/darkgray/radiobutton_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkgray/radiobutton_checked_disable.png -------------------------------------------------------------------------------- /qss/darkgray/radiobutton_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkgray/radiobutton_unchecked.png -------------------------------------------------------------------------------- /qss/darkgray/radiobutton_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/darkgray/radiobutton_unchecked_disable.png -------------------------------------------------------------------------------- /qss/flatblack/add_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatblack/add_bottom.png -------------------------------------------------------------------------------- /qss/flatblack/add_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatblack/add_left.png -------------------------------------------------------------------------------- /qss/flatblack/add_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatblack/add_right.png -------------------------------------------------------------------------------- /qss/flatblack/add_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatblack/add_top.png -------------------------------------------------------------------------------- /qss/flatblack/branch_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatblack/branch_close.png -------------------------------------------------------------------------------- /qss/flatblack/branch_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatblack/branch_open.png -------------------------------------------------------------------------------- /qss/flatblack/calendar_nextmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatblack/calendar_nextmonth.png -------------------------------------------------------------------------------- /qss/flatblack/calendar_prevmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatblack/calendar_prevmonth.png -------------------------------------------------------------------------------- /qss/flatblack/checkbox_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatblack/checkbox_checked.png -------------------------------------------------------------------------------- /qss/flatblack/checkbox_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatblack/checkbox_checked_disable.png -------------------------------------------------------------------------------- /qss/flatblack/checkbox_parcial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatblack/checkbox_parcial.png -------------------------------------------------------------------------------- /qss/flatblack/checkbox_parcial_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatblack/checkbox_parcial_disable.png -------------------------------------------------------------------------------- /qss/flatblack/checkbox_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatblack/checkbox_unchecked.png -------------------------------------------------------------------------------- /qss/flatblack/checkbox_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatblack/checkbox_unchecked_disable.png -------------------------------------------------------------------------------- /qss/flatblack/radiobutton_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatblack/radiobutton_checked.png -------------------------------------------------------------------------------- /qss/flatblack/radiobutton_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatblack/radiobutton_checked_disable.png -------------------------------------------------------------------------------- /qss/flatblack/radiobutton_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatblack/radiobutton_unchecked.png -------------------------------------------------------------------------------- /qss/flatblack/radiobutton_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatblack/radiobutton_unchecked_disable.png -------------------------------------------------------------------------------- /qss/flatwhite/add_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatwhite/add_bottom.png -------------------------------------------------------------------------------- /qss/flatwhite/add_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatwhite/add_left.png -------------------------------------------------------------------------------- /qss/flatwhite/add_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatwhite/add_right.png -------------------------------------------------------------------------------- /qss/flatwhite/add_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatwhite/add_top.png -------------------------------------------------------------------------------- /qss/flatwhite/branch_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatwhite/branch_close.png -------------------------------------------------------------------------------- /qss/flatwhite/branch_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatwhite/branch_open.png -------------------------------------------------------------------------------- /qss/flatwhite/calendar_nextmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatwhite/calendar_nextmonth.png -------------------------------------------------------------------------------- /qss/flatwhite/calendar_prevmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatwhite/calendar_prevmonth.png -------------------------------------------------------------------------------- /qss/flatwhite/checkbox_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatwhite/checkbox_checked.png -------------------------------------------------------------------------------- /qss/flatwhite/checkbox_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatwhite/checkbox_checked_disable.png -------------------------------------------------------------------------------- /qss/flatwhite/checkbox_parcial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatwhite/checkbox_parcial.png -------------------------------------------------------------------------------- /qss/flatwhite/checkbox_parcial_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatwhite/checkbox_parcial_disable.png -------------------------------------------------------------------------------- /qss/flatwhite/checkbox_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatwhite/checkbox_unchecked.png -------------------------------------------------------------------------------- /qss/flatwhite/checkbox_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatwhite/checkbox_unchecked_disable.png -------------------------------------------------------------------------------- /qss/flatwhite/radiobutton_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatwhite/radiobutton_checked.png -------------------------------------------------------------------------------- /qss/flatwhite/radiobutton_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatwhite/radiobutton_checked_disable.png -------------------------------------------------------------------------------- /qss/flatwhite/radiobutton_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatwhite/radiobutton_unchecked.png -------------------------------------------------------------------------------- /qss/flatwhite/radiobutton_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/flatwhite/radiobutton_unchecked_disable.png -------------------------------------------------------------------------------- /qss/gray/add_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/gray/add_bottom.png -------------------------------------------------------------------------------- /qss/gray/add_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/gray/add_left.png -------------------------------------------------------------------------------- /qss/gray/add_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/gray/add_right.png -------------------------------------------------------------------------------- /qss/gray/add_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/gray/add_top.png -------------------------------------------------------------------------------- /qss/gray/branch_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/gray/branch_close.png -------------------------------------------------------------------------------- /qss/gray/branch_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/gray/branch_open.png -------------------------------------------------------------------------------- /qss/gray/calendar_nextmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/gray/calendar_nextmonth.png -------------------------------------------------------------------------------- /qss/gray/calendar_prevmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/gray/calendar_prevmonth.png -------------------------------------------------------------------------------- /qss/gray/checkbox_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/gray/checkbox_checked.png -------------------------------------------------------------------------------- /qss/gray/checkbox_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/gray/checkbox_checked_disable.png -------------------------------------------------------------------------------- /qss/gray/checkbox_parcial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/gray/checkbox_parcial.png -------------------------------------------------------------------------------- /qss/gray/checkbox_parcial_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/gray/checkbox_parcial_disable.png -------------------------------------------------------------------------------- /qss/gray/checkbox_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/gray/checkbox_unchecked.png -------------------------------------------------------------------------------- /qss/gray/checkbox_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/gray/checkbox_unchecked_disable.png -------------------------------------------------------------------------------- /qss/gray/radiobutton_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/gray/radiobutton_checked.png -------------------------------------------------------------------------------- /qss/gray/radiobutton_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/gray/radiobutton_checked_disable.png -------------------------------------------------------------------------------- /qss/gray/radiobutton_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/gray/radiobutton_unchecked.png -------------------------------------------------------------------------------- /qss/gray/radiobutton_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/gray/radiobutton_unchecked_disable.png -------------------------------------------------------------------------------- /qss/lightblack/add_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblack/add_bottom.png -------------------------------------------------------------------------------- /qss/lightblack/add_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblack/add_left.png -------------------------------------------------------------------------------- /qss/lightblack/add_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblack/add_right.png -------------------------------------------------------------------------------- /qss/lightblack/add_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblack/add_top.png -------------------------------------------------------------------------------- /qss/lightblack/branch_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblack/branch_close.png -------------------------------------------------------------------------------- /qss/lightblack/branch_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblack/branch_open.png -------------------------------------------------------------------------------- /qss/lightblack/calendar_nextmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblack/calendar_nextmonth.png -------------------------------------------------------------------------------- /qss/lightblack/calendar_prevmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblack/calendar_prevmonth.png -------------------------------------------------------------------------------- /qss/lightblack/checkbox_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblack/checkbox_checked.png -------------------------------------------------------------------------------- /qss/lightblack/checkbox_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblack/checkbox_checked_disable.png -------------------------------------------------------------------------------- /qss/lightblack/checkbox_parcial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblack/checkbox_parcial.png -------------------------------------------------------------------------------- /qss/lightblack/checkbox_parcial_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblack/checkbox_parcial_disable.png -------------------------------------------------------------------------------- /qss/lightblack/checkbox_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblack/checkbox_unchecked.png -------------------------------------------------------------------------------- /qss/lightblack/checkbox_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblack/checkbox_unchecked_disable.png -------------------------------------------------------------------------------- /qss/lightblack/radiobutton_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblack/radiobutton_checked.png -------------------------------------------------------------------------------- /qss/lightblack/radiobutton_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblack/radiobutton_checked_disable.png -------------------------------------------------------------------------------- /qss/lightblack/radiobutton_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblack/radiobutton_unchecked.png -------------------------------------------------------------------------------- /qss/lightblack/radiobutton_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblack/radiobutton_unchecked_disable.png -------------------------------------------------------------------------------- /qss/lightblue/add_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblue/add_bottom.png -------------------------------------------------------------------------------- /qss/lightblue/add_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblue/add_left.png -------------------------------------------------------------------------------- /qss/lightblue/add_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblue/add_right.png -------------------------------------------------------------------------------- /qss/lightblue/add_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblue/add_top.png -------------------------------------------------------------------------------- /qss/lightblue/branch_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblue/branch_close.png -------------------------------------------------------------------------------- /qss/lightblue/branch_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblue/branch_open.png -------------------------------------------------------------------------------- /qss/lightblue/calendar_nextmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblue/calendar_nextmonth.png -------------------------------------------------------------------------------- /qss/lightblue/calendar_prevmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblue/calendar_prevmonth.png -------------------------------------------------------------------------------- /qss/lightblue/checkbox_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblue/checkbox_checked.png -------------------------------------------------------------------------------- /qss/lightblue/checkbox_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblue/checkbox_checked_disable.png -------------------------------------------------------------------------------- /qss/lightblue/checkbox_parcial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblue/checkbox_parcial.png -------------------------------------------------------------------------------- /qss/lightblue/checkbox_parcial_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblue/checkbox_parcial_disable.png -------------------------------------------------------------------------------- /qss/lightblue/checkbox_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblue/checkbox_unchecked.png -------------------------------------------------------------------------------- /qss/lightblue/checkbox_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblue/checkbox_unchecked_disable.png -------------------------------------------------------------------------------- /qss/lightblue/radiobutton_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblue/radiobutton_checked.png -------------------------------------------------------------------------------- /qss/lightblue/radiobutton_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblue/radiobutton_checked_disable.png -------------------------------------------------------------------------------- /qss/lightblue/radiobutton_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblue/radiobutton_unchecked.png -------------------------------------------------------------------------------- /qss/lightblue/radiobutton_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightblue/radiobutton_unchecked_disable.png -------------------------------------------------------------------------------- /qss/lightgray/add_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightgray/add_bottom.png -------------------------------------------------------------------------------- /qss/lightgray/add_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightgray/add_left.png -------------------------------------------------------------------------------- /qss/lightgray/add_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightgray/add_right.png -------------------------------------------------------------------------------- /qss/lightgray/add_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightgray/add_top.png -------------------------------------------------------------------------------- /qss/lightgray/branch_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightgray/branch_close.png -------------------------------------------------------------------------------- /qss/lightgray/branch_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightgray/branch_open.png -------------------------------------------------------------------------------- /qss/lightgray/calendar_nextmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightgray/calendar_nextmonth.png -------------------------------------------------------------------------------- /qss/lightgray/calendar_prevmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightgray/calendar_prevmonth.png -------------------------------------------------------------------------------- /qss/lightgray/checkbox_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightgray/checkbox_checked.png -------------------------------------------------------------------------------- /qss/lightgray/checkbox_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightgray/checkbox_checked_disable.png -------------------------------------------------------------------------------- /qss/lightgray/checkbox_parcial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightgray/checkbox_parcial.png -------------------------------------------------------------------------------- /qss/lightgray/checkbox_parcial_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightgray/checkbox_parcial_disable.png -------------------------------------------------------------------------------- /qss/lightgray/checkbox_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightgray/checkbox_unchecked.png -------------------------------------------------------------------------------- /qss/lightgray/checkbox_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightgray/checkbox_unchecked_disable.png -------------------------------------------------------------------------------- /qss/lightgray/radiobutton_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightgray/radiobutton_checked.png -------------------------------------------------------------------------------- /qss/lightgray/radiobutton_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightgray/radiobutton_checked_disable.png -------------------------------------------------------------------------------- /qss/lightgray/radiobutton_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightgray/radiobutton_unchecked.png -------------------------------------------------------------------------------- /qss/lightgray/radiobutton_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/lightgray/radiobutton_unchecked_disable.png -------------------------------------------------------------------------------- /qss/psblack/add_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/psblack/add_bottom.png -------------------------------------------------------------------------------- /qss/psblack/add_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/psblack/add_left.png -------------------------------------------------------------------------------- /qss/psblack/add_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/psblack/add_right.png -------------------------------------------------------------------------------- /qss/psblack/add_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/psblack/add_top.png -------------------------------------------------------------------------------- /qss/psblack/branch_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/psblack/branch_close.png -------------------------------------------------------------------------------- /qss/psblack/branch_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/psblack/branch_open.png -------------------------------------------------------------------------------- /qss/psblack/calendar_nextmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/psblack/calendar_nextmonth.png -------------------------------------------------------------------------------- /qss/psblack/calendar_prevmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/psblack/calendar_prevmonth.png -------------------------------------------------------------------------------- /qss/psblack/checkbox_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/psblack/checkbox_checked.png -------------------------------------------------------------------------------- /qss/psblack/checkbox_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/psblack/checkbox_checked_disable.png -------------------------------------------------------------------------------- /qss/psblack/checkbox_parcial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/psblack/checkbox_parcial.png -------------------------------------------------------------------------------- /qss/psblack/checkbox_parcial_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/psblack/checkbox_parcial_disable.png -------------------------------------------------------------------------------- /qss/psblack/checkbox_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/psblack/checkbox_unchecked.png -------------------------------------------------------------------------------- /qss/psblack/checkbox_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/psblack/checkbox_unchecked_disable.png -------------------------------------------------------------------------------- /qss/psblack/radiobutton_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/psblack/radiobutton_checked.png -------------------------------------------------------------------------------- /qss/psblack/radiobutton_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/psblack/radiobutton_checked_disable.png -------------------------------------------------------------------------------- /qss/psblack/radiobutton_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/psblack/radiobutton_unchecked.png -------------------------------------------------------------------------------- /qss/psblack/radiobutton_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/psblack/radiobutton_unchecked_disable.png -------------------------------------------------------------------------------- /qss/silvery/add_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/silvery/add_bottom.png -------------------------------------------------------------------------------- /qss/silvery/add_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/silvery/add_left.png -------------------------------------------------------------------------------- /qss/silvery/add_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/silvery/add_right.png -------------------------------------------------------------------------------- /qss/silvery/add_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/silvery/add_top.png -------------------------------------------------------------------------------- /qss/silvery/branch_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/silvery/branch_close.png -------------------------------------------------------------------------------- /qss/silvery/branch_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/silvery/branch_open.png -------------------------------------------------------------------------------- /qss/silvery/calendar_nextmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/silvery/calendar_nextmonth.png -------------------------------------------------------------------------------- /qss/silvery/calendar_prevmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/silvery/calendar_prevmonth.png -------------------------------------------------------------------------------- /qss/silvery/checkbox_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/silvery/checkbox_checked.png -------------------------------------------------------------------------------- /qss/silvery/checkbox_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/silvery/checkbox_checked_disable.png -------------------------------------------------------------------------------- /qss/silvery/checkbox_parcial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/silvery/checkbox_parcial.png -------------------------------------------------------------------------------- /qss/silvery/checkbox_parcial_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/silvery/checkbox_parcial_disable.png -------------------------------------------------------------------------------- /qss/silvery/checkbox_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/silvery/checkbox_unchecked.png -------------------------------------------------------------------------------- /qss/silvery/checkbox_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/silvery/checkbox_unchecked_disable.png -------------------------------------------------------------------------------- /qss/silvery/radiobutton_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/silvery/radiobutton_checked.png -------------------------------------------------------------------------------- /qss/silvery/radiobutton_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/silvery/radiobutton_checked_disable.png -------------------------------------------------------------------------------- /qss/silvery/radiobutton_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/silvery/radiobutton_unchecked.png -------------------------------------------------------------------------------- /qss/silvery/radiobutton_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/silvery/radiobutton_unchecked_disable.png -------------------------------------------------------------------------------- /qss/test/add_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/test/add_bottom.png -------------------------------------------------------------------------------- /qss/test/add_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/test/add_left.png -------------------------------------------------------------------------------- /qss/test/add_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/test/add_right.png -------------------------------------------------------------------------------- /qss/test/add_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/test/add_top.png -------------------------------------------------------------------------------- /qss/test/branch_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/test/branch_close.png -------------------------------------------------------------------------------- /qss/test/branch_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/test/branch_open.png -------------------------------------------------------------------------------- /qss/test/calendar_nextmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/test/calendar_nextmonth.png -------------------------------------------------------------------------------- /qss/test/calendar_prevmonth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/test/calendar_prevmonth.png -------------------------------------------------------------------------------- /qss/test/checkbox_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/test/checkbox_checked.png -------------------------------------------------------------------------------- /qss/test/checkbox_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/test/checkbox_checked_disable.png -------------------------------------------------------------------------------- /qss/test/checkbox_parcial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/test/checkbox_parcial.png -------------------------------------------------------------------------------- /qss/test/checkbox_parcial_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/test/checkbox_parcial_disable.png -------------------------------------------------------------------------------- /qss/test/checkbox_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/test/checkbox_unchecked.png -------------------------------------------------------------------------------- /qss/test/checkbox_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/test/checkbox_unchecked_disable.png -------------------------------------------------------------------------------- /qss/test/radiobutton_checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/test/radiobutton_checked.png -------------------------------------------------------------------------------- /qss/test/radiobutton_checked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/test/radiobutton_checked_disable.png -------------------------------------------------------------------------------- /qss/test/radiobutton_unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/test/radiobutton_unchecked.png -------------------------------------------------------------------------------- /qss/test/radiobutton_unchecked_disable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/qss/test/radiobutton_unchecked_disable.png -------------------------------------------------------------------------------- /sliderbar.cpp: -------------------------------------------------------------------------------- 1 | #include "sliderbar.h" 2 | #include "qevent.h" 3 | #include "qpainter.h" 4 | #include "qtimer.h" 5 | #include "qdebug.h" 6 | 7 | SliderBar::SliderBar(QWidget *parent) : QWidget(parent) 8 | { 9 | bgColorStart = QColor(121, 121, 121); 10 | bgColorEnd = QColor(78, 78, 78); 11 | old_bgColorEnd = bgColorEnd; 12 | 13 | barColorStart = QColor(46, 132, 243); 14 | barColorEnd = QColor(39, 110, 203); 15 | old_barColorEnd = barColorEnd; 16 | 17 | textNormalColor = QColor(230, 230, 230); 18 | textSelectColor = QColor(255, 255, 255); 19 | 20 | items = ""; 21 | currentIndex = -1; 22 | currentItem = ""; 23 | 24 | bgRadius = 0; 25 | barRadius = 0; 26 | space = 25; 27 | 28 | lineWidth = 3; 29 | lineColor = QColor(255, 107, 107); 30 | 31 | barStyle = BarStyle_Rect; 32 | 33 | keyMove = false; 34 | horizontal = true; 35 | flat = false; 36 | 37 | initLen = 10; 38 | step = 0; 39 | 40 | isForward = true; 41 | isVirgin = true; 42 | firstInit = true; 43 | 44 | timer = new QTimer(this); 45 | timer->setInterval(10); 46 | connect(timer, SIGNAL(timeout()), this, SLOT(slide())); 47 | } 48 | 49 | SliderBar::~SliderBar() 50 | { 51 | if (timer->isActive()) { 52 | timer->stop(); 53 | } 54 | } 55 | 56 | void SliderBar::resizeEvent(QResizeEvent *) 57 | { 58 | int index = 0; 59 | int count = listItem.count(); 60 | 61 | if (count == 0) { 62 | return; 63 | } 64 | 65 | if (count > 0 && currentItem.isEmpty()) { 66 | currentIndex = 0; 67 | currentItem = listItem.at(0).first; 68 | } 69 | 70 | for (int i = 0; i < count; i++) { 71 | if (listItem.at(i).first == currentItem) { 72 | index = i; 73 | break; 74 | } 75 | } 76 | 77 | moveTo(index); 78 | } 79 | 80 | void SliderBar::mousePressEvent(QMouseEvent *e) 81 | { 82 | moveTo(e->pos()); 83 | } 84 | 85 | void SliderBar::keyPressEvent(QKeyEvent *keyEvent) 86 | { 87 | if (!keyMove) { 88 | return; 89 | } 90 | 91 | if (keyEvent->key() == Qt::Key_Left || keyEvent->key() == Qt::Key_Up) { 92 | movePrevious(); 93 | } else if (keyEvent->key() == Qt::Key_Right || keyEvent->key() == Qt::Key_Down) { 94 | moveNext(); 95 | } 96 | } 97 | 98 | void SliderBar::paintEvent(QPaintEvent *) 99 | { 100 | //绘制准备工作,启用反锯齿 101 | QPainter painter(this); 102 | painter.setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing); 103 | 104 | //绘制背景色 105 | drawBg(&painter); 106 | //绘制当前条目选中背景 107 | drawBar(&painter); 108 | //绘制条目文字 109 | drawText(&painter); 110 | 111 | if(firstInit) 112 | { 113 | firstInit = false; 114 | drawBar(&painter); 115 | drawText(&painter); 116 | } 117 | } 118 | 119 | void SliderBar::drawBg(QPainter *painter) 120 | { 121 | painter->save(); 122 | painter->setPen(Qt::NoPen); 123 | QLinearGradient bgGradient(QPoint(0, 0), QPoint(0, height())); 124 | bgGradient.setColorAt(0.0, bgColorStart); 125 | bgGradient.setColorAt(1.0, bgColorEnd); 126 | painter->setBrush(bgGradient); 127 | painter->drawRoundedRect(rect(), bgRadius, bgRadius); 128 | painter->restore(); 129 | } 130 | 131 | void SliderBar::drawBar(QPainter *painter) 132 | { 133 | painter->save(); 134 | QPen pen = painter->pen(); 135 | 136 | QLinearGradient barGradient(barRect.topLeft(), barRect.bottomLeft()); 137 | barGradient.setColorAt(0.0, barColorStart); 138 | barGradient.setColorAt(1.0, barColorEnd); 139 | painter->setBrush(barGradient); 140 | 141 | if (barStyle == BarStyle_Rect) { 142 | painter->setPen(Qt::NoPen); 143 | painter->drawRoundedRect(barRect, barRadius, barRadius); 144 | painter->restore(); 145 | return; 146 | } else { 147 | pen.setWidthF(lineWidth); 148 | pen.setBrush(barGradient); 149 | painter->setPen(pen); 150 | painter->drawRoundedRect(barRect, barRadius, barRadius); 151 | } 152 | 153 | pen.setColor(lineColor); 154 | painter->setPen(pen); 155 | 156 | double offset = (double)lineWidth / 2; 157 | 158 | if (barStyle == BarStyle_Line_Top) { 159 | painter->drawLine(barRect.left(), barRect.top() + offset, barRect.right(), barRect.top() + offset); 160 | } else if (barStyle == BarStyle_Line_Right) { 161 | painter->drawLine(barRect.right() - offset, barRect.top(), barRect.right() - offset, barRect.bottom()); 162 | } else if (barStyle == BarStyle_Line_Bottom) { 163 | painter->drawLine(barRect.left(), barRect.bottom() - offset, barRect.right(), barRect.bottom() - offset); 164 | } else if (barStyle == BarStyle_Line_Left) { 165 | painter->drawLine(barRect.left() + offset, barRect.top(), barRect.left() + offset, barRect.bottom()); 166 | } 167 | 168 | //这里还可以增加右边倒三角形 169 | 170 | painter->restore(); 171 | } 172 | 173 | void SliderBar::drawText(QPainter *painter) 174 | { 175 | painter->save(); 176 | 177 | QFont textFont; 178 | textFont.setBold(true); 179 | painter->setFont(textFont); 180 | 181 | int count = listItem.count(); 182 | double textLen = 0; 183 | QString strText; 184 | initLen = 0; 185 | 186 | //横向导航时,字符区域取条目元素中最长的字符宽度 187 | QString longText = ""; 188 | QStringList list = items.split(";"); 189 | foreach (QString str, list) { 190 | if (str.length() > longText.length()) { 191 | longText = str; 192 | } 193 | } 194 | 195 | if (horizontal) { 196 | textLen = painter->fontMetrics().width(longText); 197 | } else { 198 | textLen = painter->fontMetrics().height(); 199 | } 200 | 201 | //逐个绘制元素队列中的文字及文字背景 202 | for (int i = 0; i < count; i++) { 203 | strText = listItem.at(i).first; 204 | 205 | QPointF left(initLen, 0); 206 | QPointF right(initLen + textLen + space, height()); 207 | 208 | if (!horizontal) { 209 | left = QPointF(0, initLen); 210 | right = QPointF(width(), initLen + textLen + space); 211 | } 212 | 213 | QRectF textRect(left, right); 214 | 215 | listItem[i].second = textRect; 216 | 217 | if (isVirgin) { 218 | barRect = textRect; 219 | isVirgin = false; 220 | } 221 | 222 | //当前选中区域的文字显示选中文字颜色 223 | if (textRect == listItem.at(currentIndex).second) { 224 | painter->setPen(textSelectColor); 225 | } else { 226 | painter->setPen(textNormalColor); 227 | } 228 | 229 | painter->drawText(textRect, Qt::AlignCenter, strText); 230 | initLen += textLen + space; 231 | } 232 | 233 | painter->restore(); 234 | } 235 | 236 | int SliderBar::initStep(int distance) 237 | { 238 | int n = 1; 239 | 240 | while (1) { 241 | if (n * n > distance) { 242 | break; 243 | } else { 244 | n++; 245 | } 246 | } 247 | 248 | return n * 1.4; 249 | } 250 | 251 | void SliderBar::slide() 252 | { 253 | if (step > 1) { 254 | step--; 255 | } 256 | 257 | if (horizontal) { 258 | barLen = barRect.topLeft().x(); 259 | } else { 260 | barLen = barRect.topLeft().y(); 261 | } 262 | 263 | if (isForward) { 264 | barLen += step; 265 | 266 | if (barLen >= targetLen) { 267 | barLen = targetLen; 268 | timer->stop(); 269 | } 270 | } else { 271 | barLen -= step; 272 | 273 | if (barLen <= targetLen) { 274 | barLen = targetLen; 275 | timer->stop(); 276 | } 277 | } 278 | 279 | if (horizontal) { 280 | barRect = QRectF(QPointF(barLen, 0), QPointF(barLen + barRect.width(), height())); 281 | } else { 282 | barRect = QRectF(QPointF(0, barLen), QPointF(width(), barLen + barRect.height())); 283 | } 284 | 285 | update(); 286 | } 287 | 288 | QColor SliderBar::getBgColorStart() const 289 | { 290 | return this->bgColorStart; 291 | } 292 | 293 | QColor SliderBar::getBgColorEnd() const 294 | { 295 | return this->bgColorEnd; 296 | } 297 | 298 | QColor SliderBar::getBarColorStart() const 299 | { 300 | return this->barColorStart; 301 | } 302 | 303 | QColor SliderBar::getBarColorEnd() const 304 | { 305 | return this->barColorEnd; 306 | } 307 | 308 | QColor SliderBar::getTextNormalColor() const 309 | { 310 | return this->textNormalColor; 311 | } 312 | 313 | QColor SliderBar::getTextSelectColor() const 314 | { 315 | return this->textSelectColor; 316 | } 317 | 318 | QString SliderBar::getItems() const 319 | { 320 | return this->items; 321 | } 322 | 323 | int SliderBar::getCurrentIndex() const 324 | { 325 | return this->currentIndex; 326 | } 327 | 328 | QString SliderBar::getCurrentItem() const 329 | { 330 | return this->currentItem; 331 | } 332 | 333 | int SliderBar::getBgRadius() const 334 | { 335 | return this->bgRadius; 336 | } 337 | 338 | int SliderBar::getBarRadius() const 339 | { 340 | return this->barRadius; 341 | } 342 | 343 | int SliderBar::getSpace() const 344 | { 345 | return this->space; 346 | } 347 | 348 | int SliderBar::getLineWidth() const 349 | { 350 | return this->lineWidth; 351 | } 352 | 353 | QColor SliderBar::getLineColor() const 354 | { 355 | return this->lineColor; 356 | } 357 | 358 | SliderBar::BarStyle SliderBar::getBarStyle() const 359 | { 360 | return this->barStyle; 361 | } 362 | 363 | bool SliderBar::getKeyMove() const 364 | { 365 | return this->keyMove; 366 | } 367 | 368 | bool SliderBar::getHorizontal() const 369 | { 370 | return this->horizontal; 371 | } 372 | 373 | bool SliderBar::getFlat() const 374 | { 375 | return this->flat; 376 | } 377 | 378 | QSize SliderBar::sizeHint() const 379 | { 380 | return QSize(500, 30); 381 | } 382 | 383 | QSize SliderBar::minimumSizeHint() const 384 | { 385 | return QSize(30, 30); 386 | } 387 | 388 | void SliderBar::clearItem() 389 | { 390 | listItem.clear(); 391 | update(); 392 | } 393 | 394 | void SliderBar::setBgColorStart(const QColor &bgColorStart) 395 | { 396 | if (this->bgColorStart != bgColorStart) { 397 | this->bgColorStart = bgColorStart; 398 | update(); 399 | } 400 | } 401 | 402 | void SliderBar::setBgColorEnd(const QColor &bgColorEnd) 403 | { 404 | if (this->bgColorEnd != bgColorEnd) { 405 | this->bgColorEnd = bgColorEnd; 406 | this->old_bgColorEnd = bgColorEnd; 407 | update(); 408 | } 409 | } 410 | 411 | void SliderBar::setBarColorStart(const QColor &barColorStart) 412 | { 413 | if (this->barColorStart != barColorStart) { 414 | this->barColorStart = barColorStart; 415 | update(); 416 | } 417 | } 418 | 419 | void SliderBar::setBarColorEnd(const QColor &barColorEnd) 420 | { 421 | if (this->barColorEnd != barColorEnd) { 422 | this->barColorEnd = barColorEnd; 423 | this->old_barColorEnd = barColorEnd; 424 | update(); 425 | } 426 | } 427 | 428 | void SliderBar::setTextNormalColor(const QColor &textNormalColor) 429 | { 430 | if (this->textNormalColor != textNormalColor) { 431 | this->textNormalColor = textNormalColor; 432 | update(); 433 | } 434 | } 435 | 436 | void SliderBar::setTextSelectColor(const QColor &textSelectColor) 437 | { 438 | if (this->textSelectColor != textSelectColor) { 439 | this->textSelectColor = textSelectColor; 440 | update(); 441 | } 442 | } 443 | 444 | void SliderBar::setItems(const QString &items) 445 | { 446 | this->items = items; 447 | this->listItem.clear(); 448 | 449 | QStringList list = items.split(";"); 450 | foreach (QString str, list) { 451 | this->listItem.push_back(qMakePair(str, QRectF())); 452 | } 453 | 454 | update(); 455 | } 456 | 457 | void SliderBar::setCurrentIndex(int index) 458 | { 459 | moveTo(index); 460 | } 461 | 462 | void SliderBar::setCurrentItem(const QString &item) 463 | { 464 | moveTo(item); 465 | } 466 | 467 | void SliderBar::setBgRadius(int bgRadius) 468 | { 469 | if (this->bgRadius != bgRadius) { 470 | this->bgRadius = bgRadius; 471 | update(); 472 | } 473 | } 474 | 475 | void SliderBar::setBarRadius(int barRadius) 476 | { 477 | if (this->barRadius != barRadius) { 478 | this->barRadius = barRadius; 479 | update(); 480 | } 481 | } 482 | 483 | void SliderBar::setSpace(int space) 484 | { 485 | if (this->space != space) { 486 | this->space = space; 487 | update(); 488 | } 489 | } 490 | 491 | void SliderBar::setLineWidth(int lineWidth) 492 | { 493 | if (this->lineWidth != lineWidth) { 494 | this->lineWidth = lineWidth; 495 | update(); 496 | } 497 | } 498 | 499 | void SliderBar::setLineColor(const QColor &lineColor) 500 | { 501 | if (this->lineColor != lineColor) { 502 | this->lineColor = lineColor; 503 | update(); 504 | } 505 | } 506 | 507 | void SliderBar::setBarStyle(SliderBar::BarStyle barStyle) 508 | { 509 | if (this->barStyle != barStyle) { 510 | this->barStyle = barStyle; 511 | update(); 512 | } 513 | } 514 | 515 | void SliderBar::setKeyMove(bool keyMove) 516 | { 517 | if (this->keyMove != keyMove) { 518 | this->keyMove = keyMove; 519 | 520 | if (keyMove) { 521 | setFocusPolicy(Qt::StrongFocus); 522 | } else { 523 | setFocusPolicy(Qt::NoFocus); 524 | } 525 | } 526 | } 527 | 528 | void SliderBar::setHorizontal(bool horizontal) 529 | { 530 | if (this->horizontal != horizontal) { 531 | this->horizontal = horizontal; 532 | update(); 533 | } 534 | } 535 | 536 | void SliderBar::setFlat(bool flat) 537 | { 538 | if (this->flat != flat) { 539 | //扁平后将初始颜色赋值给结束颜色达到扁平的效果,如果取消扁平则再次恢复原有的颜色 540 | if (flat) { 541 | bgColorEnd = bgColorStart; 542 | barColorEnd = barColorStart; 543 | } else { 544 | bgColorEnd = old_bgColorEnd; 545 | barColorEnd = old_barColorEnd; 546 | } 547 | 548 | this->flat = flat; 549 | update(); 550 | } 551 | } 552 | 553 | void SliderBar::moveFirst() 554 | { 555 | int index = 0; 556 | 557 | if (currentIndex != index) { 558 | moveTo(index); 559 | } 560 | } 561 | 562 | void SliderBar::moveLast() 563 | { 564 | int index = listItem.count() - 1; 565 | 566 | if (currentIndex != index) { 567 | moveTo(index); 568 | } 569 | } 570 | 571 | void SliderBar::movePrevious() 572 | { 573 | if (currentIndex > 0) { 574 | currentIndex--; 575 | moveTo(currentIndex); 576 | } 577 | } 578 | 579 | void SliderBar::moveNext() 580 | { 581 | if (currentIndex < listItem.count() - 1) { 582 | currentIndex++; 583 | moveTo(currentIndex); 584 | } 585 | } 586 | 587 | void SliderBar::moveTo(int index) 588 | { 589 | if (listItem.count() > index) { 590 | QRectF rec = listItem.at(index).second; 591 | QPoint pos = QPoint(rec.x(), rec.y()); 592 | moveTo(pos); 593 | } 594 | } 595 | 596 | void SliderBar::moveTo(const QString &item) 597 | { 598 | int count = listItem.count(); 599 | 600 | for (int i = 0; i < count; i++) { 601 | if (listItem.at(i).first == item) { 602 | moveTo(i); 603 | break; 604 | } 605 | } 606 | } 607 | 608 | void SliderBar::moveTo(const QPointF &point) 609 | { 610 | int count = listItem.count(); 611 | 612 | for (int i = 0; i < count; i++) { 613 | if (listItem.at(i).second.contains(point)) { 614 | currentIndex = i; 615 | currentItem = listItem.at(i).first; 616 | emit currentItemChanged(currentIndex, currentItem); 617 | 618 | targetRect = listItem.at(i).second; 619 | 620 | if (horizontal) { 621 | targetLen = targetRect.topLeft().x(); 622 | barLen = barRect.topLeft().x(); 623 | } else { 624 | targetLen = targetRect.topLeft().y(); 625 | barLen = barRect.topLeft().y(); 626 | } 627 | 628 | isForward = (targetLen > barLen); 629 | int distance = targetLen - barLen; 630 | distance = qAbs(distance); 631 | 632 | //重新获取每次移动的步长 633 | step = initStep(distance); 634 | timer->start(); 635 | } 636 | } 637 | } 638 | -------------------------------------------------------------------------------- /sliderbar.h: -------------------------------------------------------------------------------- 1 | #ifndef SLIDERBAR_H 2 | #define SLIDERBAR_H 3 | 4 | /** 5 | * 滑动导航条控件 作者:feiyangqingyun(QQ:517216493) 2016-10-8 6 | * 1:可键盘按键上下移动元素功能 7 | * 2:支持窗体大小改变控件自动拉伸 8 | * 3:支持移动到第一个/末一个/上移/下移/移动到指定索引/移动到指定元素 9 | * 4:支持扁平处理 10 | * 5:支持纵向风格 11 | * 6:可设置圆角角度,包括主背景和选中元素背景 12 | * 7:可设置间距 13 | * 8:可设置导航条主背景渐变色 14 | * 9:可设置当前条目选中背景渐变色 15 | * 10:可设置条目未选中和选中的文字颜色 16 | * 11:可设置五种选中风格样式 17 | * 12:可设置线条颜色和宽度 18 | * 13:选中条目的宽度为条目文字集合中最长的一个 19 | */ 20 | 21 | #include 22 | 23 | #ifdef quc 24 | #if (QT_VERSION < QT_VERSION_CHECK(5,7,0)) 25 | #include 26 | #else 27 | #include 28 | #endif 29 | 30 | class QDESIGNER_WIDGET_EXPORT SliderBar : public QWidget 31 | #else 32 | class SliderBar : public QWidget 33 | #endif 34 | 35 | { 36 | Q_OBJECT 37 | Q_ENUMS(BarStyle) 38 | 39 | Q_PROPERTY(QColor bgColorStart READ getBgColorStart WRITE setBgColorStart) 40 | Q_PROPERTY(QColor bgColorEnd READ getBgColorEnd WRITE setBgColorEnd) 41 | 42 | Q_PROPERTY(QColor barColorStart READ getBarColorStart WRITE setBarColorStart) 43 | Q_PROPERTY(QColor barColorEnd READ getBarColorEnd WRITE setBarColorEnd) 44 | 45 | Q_PROPERTY(QColor textNormalColor READ getTextNormalColor WRITE setTextNormalColor) 46 | Q_PROPERTY(QColor textSelectColor READ getTextSelectColor WRITE setTextSelectColor) 47 | 48 | Q_PROPERTY(QString items READ getItems WRITE setItems) 49 | Q_PROPERTY(int currentIndex READ getCurrentIndex WRITE setCurrentIndex) 50 | Q_PROPERTY(QString currentItem READ getCurrentItem WRITE setCurrentItem) 51 | 52 | Q_PROPERTY(int bgRadius READ getBgRadius WRITE setBgRadius) 53 | Q_PROPERTY(int barRadius READ getBarRadius WRITE setBarRadius) 54 | Q_PROPERTY(int space READ getSpace WRITE setSpace) 55 | 56 | Q_PROPERTY(int lineWidth READ getLineWidth WRITE setLineWidth) 57 | Q_PROPERTY(QColor lineColor READ getLineColor WRITE setLineColor) 58 | 59 | Q_PROPERTY(BarStyle barStyle READ getBarStyle WRITE setBarStyle) 60 | 61 | Q_PROPERTY(bool keyMove READ getKeyMove WRITE setKeyMove) 62 | Q_PROPERTY(bool horizontal READ getHorizontal WRITE setHorizontal) 63 | Q_PROPERTY(bool flat READ getFlat WRITE setFlat) 64 | 65 | public: 66 | enum BarStyle { 67 | BarStyle_Rect = 0, //圆角矩形 68 | BarStyle_Line_Top = 1, //上边线条 69 | BarStyle_Line_Right = 2, //右边线条 70 | BarStyle_Line_Bottom = 3, //下边线条 71 | BarStyle_Line_Left = 4 //左边线条 72 | }; 73 | 74 | explicit SliderBar(QWidget *parent = 0); 75 | ~SliderBar(); 76 | 77 | protected: 78 | void resizeEvent(QResizeEvent *); 79 | void mousePressEvent(QMouseEvent *); 80 | void keyPressEvent(QKeyEvent *); 81 | void paintEvent(QPaintEvent *); 82 | void drawBg(QPainter *painter); 83 | void drawBar(QPainter *painter); 84 | void drawText(QPainter *painter); 85 | 86 | private: 87 | QColor bgColorStart; //导航条主背景渐变开始颜色 88 | QColor bgColorEnd; //导航条主背景渐变结束颜色 89 | 90 | QColor barColorStart; //导航条当前条目渐变开始颜色 91 | QColor barColorEnd; //导航条当前条目渐变结束颜色 92 | 93 | QColor textNormalColor; //文字正常颜色 94 | QColor textSelectColor; //文字选中颜色 95 | 96 | QColor old_bgColorEnd; //用于扁平化切换 97 | QColor old_barColorEnd; //用于扁平化切换 98 | 99 | QString items; //所有条目文字信息 100 | int currentIndex; //当前选中条目索引 101 | QString currentItem; //当前选中条目文字 102 | 103 | int bgRadius; //背景圆角半径 104 | int barRadius; //选中条目背景圆角半径 105 | int space; //条目元素之间的间距 106 | 107 | int lineWidth; //线条宽度 108 | QColor lineColor; //线条颜色 109 | 110 | BarStyle barStyle; //选中元素样式 111 | 112 | bool keyMove; //是否支持按键移动 113 | bool horizontal; //是否横向显示 114 | bool flat; //是否扁平化 115 | 116 | //元素集合,成对出现,元素的名字,矩形区域范围 117 | QVector > listItem; 118 | 119 | QRectF barRect, targetRect; //选中区域和目标区域的矩形 120 | double barLen, targetLen; //选中区域和目标区域的长度 121 | 122 | double initLen; //导航条的长度 123 | int step; //每次移动的步长 124 | int initStep(int distance); //计算步长 125 | 126 | bool isForward; //是否往前移动 127 | bool isVirgin; //是否首次处理 128 | QTimer *timer; //滑动绘制定时器 129 | 130 | bool firstInit; 131 | 132 | private slots: 133 | void slide(); 134 | 135 | public: 136 | QColor getBgColorStart() const; 137 | QColor getBgColorEnd() const; 138 | 139 | QColor getBarColorStart() const; 140 | QColor getBarColorEnd() const; 141 | 142 | QColor getTextNormalColor() const; 143 | QColor getTextSelectColor() const; 144 | 145 | QString getItems() const; 146 | int getCurrentIndex() const; 147 | QString getCurrentItem() const; 148 | 149 | int getBgRadius() const; 150 | int getBarRadius() const; 151 | int getSpace() const; 152 | 153 | int getLineWidth() const; 154 | QColor getLineColor() const; 155 | 156 | BarStyle getBarStyle() const; 157 | 158 | bool getKeyMove() const; 159 | bool getHorizontal() const; 160 | bool getFlat() const; 161 | 162 | QSize sizeHint() const; 163 | QSize minimumSizeHint() const; 164 | 165 | public Q_SLOTS: 166 | //删除所有条目 167 | void clearItem(); 168 | 169 | //设置导航条主背景渐变色 170 | void setBgColorStart(const QColor &bgColorStart); 171 | void setBgColorEnd(const QColor &bgColorEnd); 172 | 173 | //设置当前条目选中背景渐变色 174 | void setBarColorStart(const QColor &barColorStart); 175 | void setBarColorEnd(const QColor &barColorEnd); 176 | 177 | //设置文字颜色 178 | void setTextNormalColor(const QColor &textNormalColor); 179 | void setTextSelectColor(const QColor &textSelectColor); 180 | 181 | //设置子项元素及当前索引及值 182 | void setItems(const QString &items); 183 | void setCurrentIndex(int index); 184 | void setCurrentItem(const QString &item); 185 | 186 | //设置边框圆角 187 | void setBgRadius(int bgRadius); 188 | void setBarRadius(int barRadius); 189 | //设置条目间距 190 | void setSpace(int space); 191 | 192 | //设置线条宽度 193 | void setLineWidth(int lineWidth); 194 | //设置线条颜色 195 | void setLineColor(const QColor &lineColor); 196 | 197 | //设置选中元素样式 198 | void setBarStyle(BarStyle barStyle); 199 | 200 | //设置键盘按键是否能够移动条目 201 | void setKeyMove(bool keyMove); 202 | //设置横向显示,如果为假则纵向显示 203 | void setHorizontal(bool horizontal); 204 | //设置扁平,默认不扁平 205 | void setFlat(bool flat); 206 | 207 | //移动到第一个条目 208 | void moveFirst(); 209 | //移动到最后一个条目 210 | void moveLast(); 211 | //往前移动条目 212 | void movePrevious(); 213 | //往后移动条目 214 | void moveNext(); 215 | //移动到指定索引条目 216 | void moveTo(int index); 217 | //移动到指定文字条目 218 | void moveTo(const QString &item); 219 | //移动到指定坐标位置条目 220 | void moveTo(const QPointF &point); 221 | 222 | Q_SIGNALS: 223 | //当前条目改变信号,index为当前条目索引索引 item为当前条目文字 224 | void currentItemChanged(int index, const QString &item); 225 | }; 226 | 227 | #endif // SLIDERBAR_H 228 | -------------------------------------------------------------------------------- /snapshot/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qq574582775/SimpleDevelopmentFramework/01ab8243453b9f4cc6c83e6e4e18fd3ff657371f/snapshot/1.gif -------------------------------------------------------------------------------- /uidemo5.cpp: -------------------------------------------------------------------------------- 1 | #include "uidemo5.h" 2 | #include "ui_uidemo5.h" 3 | #include "navlistview.h" 4 | #include "quiwidget.h" 5 | 6 | 7 | 8 | UIDemo5::UIDemo5(QWidget *parent) : 9 | QDialog(parent), 10 | ui(new Ui::UIDemo5) 11 | { 12 | ui->setupUi(this); 13 | init(); 14 | } 15 | 16 | UIDemo5::~UIDemo5() 17 | { 18 | delete ui; 19 | } 20 | 21 | 22 | void UIDemo5::init() 23 | { 24 | this->initForm(); 25 | updateProjInfo(); 26 | QUIWidget::setFormInCenter(this); 27 | QTimer::singleShot(100, this, SLOT(initIndex())); 28 | resize(QSize(1080, 600)); 29 | } 30 | 31 | 32 | void UIDemo5::updateProjInfo() 33 | { 34 | QStringList listItem; 35 | 36 | //标题|父节点标题(父节点为空)|是否展开|提示信息 37 | listItem.append("主界面||1|"); 38 | 39 | listItem.append("1||0|"); 40 | listItem.append("1|1||"); 41 | listItem.append("2|1||"); 42 | listItem.append("3|1||"); 43 | 44 | listItem.append("2||0|"); 45 | listItem.append("1|2||"); 46 | listItem.append("2|2||"); 47 | listItem.append("3|2||"); 48 | listItem.append("4|2||"); 49 | 50 | listItem.append("3||0|"); 51 | listItem.append("1|3|0|"); 52 | listItem.append("2|3|0|"); 53 | listItem.append("3|3|0|"); 54 | listItem.append("3||0|"); 55 | listItem.append("1|3|0|"); 56 | listItem.append("2|3|0|"); 57 | listItem.append("3|3|0|"); 58 | listItem.append("3||0|"); 59 | listItem.append("1|3|0|"); 60 | listItem.append("2|3|0|"); 61 | listItem.append("3|3|0|"); 62 | 63 | listItem.append("帮助文档||1|"); 64 | 65 | ui->listView->setData(listItem); 66 | 67 | ui->listView->setColorLine(QColor(53, 53, 53)); 68 | ui->listView->setColorBgNormal(QColor(70, 70, 70)); 69 | ui->listView->setColorBgHover(QColor(99, 99, 99)); 70 | ui->listView->setColorBgSelected(QColor(82, 82, 82)); 71 | ui->listView->setColorTextNormal(QColor(250, 250, 250)); 72 | ui->listView->setColorTextHover(QColor(200, 200, 200)); 73 | ui->listView->setColorTextSelected(QColor(252, 252, 252)); 74 | } 75 | 76 | void UIDemo5::initForm() 77 | { 78 | this->max = false; 79 | this->location = this->geometry(); 80 | this->setProperty("form", true); 81 | this->setProperty("canMove", true); 82 | this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint); 83 | 84 | this->setWindowTitle("SmartSolo Device Manager"); 85 | //IconHelper::Instance()->setIcon(ui->labTitle, QChar(0xf072), 35); 86 | ui->labTitle->setText("DTCC"); 87 | auto font = ui->labTitle->font(); 88 | font.setPointSize(25); 89 | font.setFamily("Bauhaus 93"); 90 | ui->labTitle->setFont(font); 91 | IconHelper::Instance()->setIcon(ui->btnMenu_Min, QChar(0xF068)); 92 | IconHelper::Instance()->setIcon(ui->btnMenu_Max, QChar(0xF067)); 93 | IconHelper::Instance()->setIcon(ui->btnMenu_Close, QChar(0xF00d)); 94 | 95 | QString items = "IGU;Battery Pack;About"; 96 | ui->widgetNavTop->setItems(items); 97 | ui->widgetNavTop->setHorizontal(true); 98 | ui->widgetNavTop->setLineWidth(5); 99 | ui->widgetNavTop->setSpace(60); 100 | ui->widgetNavTop->setLineColor(QColor(53, 53, 53)); 101 | ui->widgetNavTop->setBgColorStart(QColor(70, 70, 70)); 102 | ui->widgetNavTop->setBgColorEnd(QColor(70, 70, 70)); 103 | ui->widgetNavTop->setBarColorStart(QColor(99, 99, 99)); 104 | ui->widgetNavTop->setBarColorEnd(QColor(80, 80, 80)); 105 | ui->widgetNavTop->setTextNormalColor(QColor(150, 150, 150)); 106 | ui->widgetNavTop->setTextSelectColor(QColor(250, 250, 250)); 107 | } 108 | 109 | void UIDemo5::initIndex() 110 | { 111 | ui->widgetNavTop->setCurrentIndex(0); 112 | } 113 | 114 | void UIDemo5::on_btnMenu_Min_clicked() 115 | { 116 | showMinimized(); 117 | } 118 | 119 | void UIDemo5::on_btnMenu_Max_clicked() 120 | { 121 | if (max) { 122 | this->setGeometry(location); 123 | this->setProperty("canMove", true); 124 | } else { 125 | location = this->geometry(); 126 | this->setGeometry(qApp->desktop()->availableGeometry()); 127 | this->setProperty("canMove", false); 128 | } 129 | 130 | max = !max; 131 | } 132 | 133 | void UIDemo5::on_btnMenu_Close_clicked() 134 | { 135 | close(); 136 | } 137 | 138 | void UIDemo5::on_listView_pressed(const QModelIndex &index) 139 | { 140 | ui->label->setText(index.data().toString()); 141 | } 142 | -------------------------------------------------------------------------------- /uidemo5.h: -------------------------------------------------------------------------------- 1 | #ifndef UIDEMO5_H 2 | #define UIDEMO5_H 3 | 4 | #include 5 | 6 | 7 | namespace Ui { 8 | class UIDemo5; 9 | } 10 | 11 | class UIDemo5 : public QDialog 12 | { 13 | Q_OBJECT 14 | 15 | public: 16 | explicit UIDemo5(QWidget *parent = 0); 17 | ~UIDemo5(); 18 | 19 | private: 20 | void init(); 21 | void updateProjInfo(); 22 | 23 | private: 24 | Ui::UIDemo5 *ui; 25 | bool max; 26 | QRect location; 27 | 28 | private slots: 29 | void initForm(); 30 | void initIndex(); 31 | 32 | private slots: 33 | void on_btnMenu_Min_clicked(); 34 | void on_btnMenu_Max_clicked(); 35 | void on_btnMenu_Close_clicked(); 36 | void on_listView_pressed(const QModelIndex &index); 37 | }; 38 | 39 | #endif // UIDEMO5_H 40 | -------------------------------------------------------------------------------- /uidemo5.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | UIDemo5 4 | 5 | 6 | 7 | 0 8 | 0 9 | 857 10 | 590 11 | 12 | 13 | 14 | Dialog 15 | 16 | 17 | true 18 | 19 | 20 | 21 | 0 22 | 23 | 24 | 0 25 | 26 | 27 | 0 28 | 29 | 30 | 0 31 | 32 | 33 | 0 34 | 35 | 36 | 37 | 38 | 39 | 0 40 | 60 41 | 42 | 43 | 44 | 45 | 16777215 46 | 60 47 | 48 | 49 | 50 | 51 | 6 52 | 53 | 54 | 0 55 | 56 | 57 | 0 58 | 59 | 60 | 0 61 | 62 | 63 | 0 64 | 65 | 66 | 67 | 68 | 69 | 160 70 | 0 71 | 72 | 73 | 74 | 75 | 160 76 | 16777215 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | Qt::AlignCenter 87 | 88 | 89 | 90 | 91 | 92 | 93 | Qt::Horizontal 94 | 95 | 96 | QSizePolicy::Minimum 97 | 98 | 99 | 100 | 60 101 | 20 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 400 111 | 0 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | Qt::Horizontal 120 | 121 | 122 | QSizePolicy::Expanding 123 | 124 | 125 | 126 | 0 127 | 0 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 100 137 | 16777215 138 | 139 | 140 | 141 | 142 | 0 143 | 144 | 145 | 0 146 | 147 | 148 | 0 149 | 150 | 151 | 0 152 | 153 | 154 | 0 155 | 156 | 157 | 158 | 159 | Qt::Vertical 160 | 161 | 162 | 163 | 20 164 | 10 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 0 174 | 0 175 | 176 | 177 | 178 | 179 | 30 180 | 30 181 | 182 | 183 | 184 | ArrowCursor 185 | 186 | 187 | Qt::NoFocus 188 | 189 | 190 | 最小化 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 0 202 | 0 203 | 204 | 205 | 206 | 207 | 30 208 | 30 209 | 210 | 211 | 212 | ArrowCursor 213 | 214 | 215 | Qt::NoFocus 216 | 217 | 218 | Close 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 0 230 | 0 231 | 232 | 233 | 234 | 235 | 30 236 | 30 237 | 238 | 239 | 240 | Qt::NoFocus 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 0 258 | 259 | 260 | 0 261 | 262 | 263 | 0 264 | 265 | 266 | 0 267 | 268 | 269 | 0 270 | 271 | 272 | 273 | 274 | Qt::Horizontal 275 | 276 | 277 | false 278 | 279 | 280 | 281 | 282 | 0 283 | 0 284 | 285 | 286 | 287 | 288 | 200 289 | 0 290 | 291 | 292 | 293 | 294 | 300 295 | 16777215 296 | 297 | 298 | 299 | 300 | 301 | 302 | 1 303 | 0 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 0 312 | 0 313 | 314 | 315 | 316 | 317 | 200 318 | 15 319 | 320 | 321 | 322 | 323 | 324 | 325 | Qt::AlignCenter 326 | 327 | 328 | 329 | 330 | 331 | 332 | PushButton 333 | 334 | 335 | 336 | 337 | 338 | 339 | ... 340 | 341 | 342 | 343 | 344 | 345 | 346 | RadioButton 347 | 348 | 349 | 350 | 351 | 352 | 353 | CheckBox 354 | 355 | 356 | 357 | 358 | 359 | 360 | CommandLinkButton 361 | 362 | 363 | 364 | 365 | 366 | 367 | CheckBox 368 | 369 | 370 | 371 | 372 | 373 | 374 | QDialogButtonBox::Cancel|QDialogButtonBox::Ok 375 | 376 | 377 | 378 | 379 | 380 | 381 | QListView::ListMode 382 | 383 | 384 | 0 385 | 386 | 387 | 388 | 123 389 | 390 | 391 | 392 | 393 | 222 394 | 395 | 396 | 397 | 398 | 399 | 400 | 401 | Qt::Vertical 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 419 | 420 | 421 | 422 | 423 | 424 | 425 | 426 | 427 | 428 | 429 | Qt::Horizontal 430 | 431 | 432 | 433 | 434 | 435 | 436 | 437 | 438 | 439 | 440 | 441 | 442 | 443 | 444 | SliderBar 445 | QWidget 446 |
sliderbar.h
447 | 1 448 |
449 | 450 | NavListView 451 | QListView 452 |
navlistview.h
453 |
454 |
455 | 456 | 457 |
458 | --------------------------------------------------------------------------------