first commit

This commit is contained in:
taynpg 2024-03-08 15:29:40 +08:00
commit e903dd0e48
41 changed files with 921 additions and 0 deletions

3
README.md Normal file
View File

@ -0,0 +1,3 @@
# 说明
一些小的 resource 资源收藏。

Binary file not shown.

BIN
bat/settings Normal file

Binary file not shown.

Binary file not shown.

BIN
gif/load.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 KiB

BIN
gif/loading.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 762 KiB

Binary file not shown.

BIN
pack/chinese_prc.lng Normal file

Binary file not shown.

BIN
pack/enigmavb.exe Normal file

Binary file not shown.

1
pack/enigmavb.txt Normal file
View File

@ -0,0 +1 @@
可以将exe和其依赖的dll打包成一个单独的exe

BIN
pack/nsis-3.08-setup.exe Normal file

Binary file not shown.

3
qt-theme/README.md Normal file
View File

@ -0,0 +1,3 @@
# 说明
收藏的一些 qt 主题。

View File

@ -0,0 +1,28 @@
<RCC>
<qresource prefix="/">
<file>qss/flatgray/add_bottom.png</file>
<file>qss/flatgray/add_left.png</file>
<file>qss/flatgray/add_right.png</file>
<file>qss/flatgray/add_top.png</file>
<file>qss/flatgray/arrow_bottom.png</file>
<file>qss/flatgray/arrow_left.png</file>
<file>qss/flatgray/arrow_right.png</file>
<file>qss/flatgray/arrow_top.png</file>
<file>qss/flatgray/branch_close.png</file>
<file>qss/flatgray/branch_open.png</file>
<file>qss/flatgray/calendar_nextmonth.png</file>
<file>qss/flatgray/calendar_prevmonth.png</file>
<file>qss/flatgray/checkbox_checked.png</file>
<file>qss/flatgray/checkbox_checked_disable.png</file>
<file>qss/flatgray/checkbox_parcial.png</file>
<file>qss/flatgray/checkbox_parcial_disable.png</file>
<file>qss/flatgray/checkbox_unchecked.png</file>
<file>qss/flatgray/checkbox_unchecked_disable.png</file>
<file>qss/flatgray/menu_checked.png</file>
<file>qss/flatgray/radiobutton_checked.png</file>
<file>qss/flatgray/radiobutton_checked_disable.png</file>
<file>qss/flatgray/radiobutton_unchecked.png</file>
<file>qss/flatgray/radiobutton_unchecked_disable.png</file>
<file>qss/flatgray.css</file>
</qresource>
</RCC>

View File

@ -0,0 +1,694 @@
QPalette{background:#FFFFFF;}*{outline:0px;color:#57595B;}
QGraphicsView{
border:1px solid #B6B6B6;
qproperty-backgroundBrush:#FFFFFF;
}
QWidget[form="true"],QLabel[frameShape="1"]{
border:1px solid #B6B6B6;
border-radius:0px;
}
QWidget[form="bottom"]{
background:#E4E4E4;
}
QWidget[form="bottom"] .QFrame{
border:1px solid #57595B;
}
QWidget[form="bottom"] QLabel,QWidget[form="title"] QLabel{
border-radius:0px;
color:#57595B;
background:none;
border-style:none;
}
QWidget[form="title"],QWidget[nav="left"],QWidget[nav="top"] QAbstractButton{
border-style:none;
border-radius:0px;
padding:5px;
color:#57595B;
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #E4E4E4,stop:1 #E4E4E4);
}
QWidget[nav="top"] QAbstractButton:hover,QWidget[nav="top"] QAbstractButton:pressed,QWidget[nav="top"] QAbstractButton:checked{
border-style:solid;
border-width:0px 0px 2px 0px;
padding:4px 4px 2px 4px;
border-color:#575959;
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F6F6F6,stop:1 #F6F6F6);
}
QWidget[nav="left"] QAbstractButton{
border-radius:0px;
color:#57595B;
background:none;
border-style:none;
}
QWidget[nav="left"] QAbstractButton:hover{
color:#FFFFFF;
background-color:#575959;
}
QWidget[nav="left"] QAbstractButton:checked,QWidget[nav="left"] QAbstractButton:pressed{
color:#57595B;
border-style:solid;
border-width:0px 0px 0px 2px;
padding:4px 4px 4px 2px;
border-color:#575959;
background-color:#FFFFFF;
}
QWidget[video="true"] QLabel{
color:#57595B;
border:1px solid #B6B6B6;
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #E4E4E4,stop:1 #E4E4E4);
}
QWidget[video="true"] QLabel:focus{
border:1px solid #575959;
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F6F6F6,stop:1 #F6F6F6);
}
QLineEdit:read-only{
background-color:#E4E4E4;
}
QLineEdit,QTextEdit,QPlainTextEdit,QSpinBox,QDoubleSpinBox,QComboBox,QDateEdit,QTimeEdit,QDateTimeEdit{
border:1px solid #B6B6B6;
border-radius:3px;
padding:2px;
background:none;
selection-background-color:#575959;
selection-color:#FFFFFF;
}
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{
border:1px solid #B6B6B6;
}
QLineEdit[echoMode="2"]{
lineedit-password-character:9679;
}
.QFrame{
border:1px solid #B6B6B6;
border-radius:3px;
}
.QGroupBox{
border:1px solid #B6B6B6;
border-radius:5px;
margin-top:9px;
}
.QGroupBox::title{
subcontrol-origin:margin;
position:relative;
left:10px;
}
.QPushButton,.QToolButton{
border-style:none;
border:1px solid #B6B6B6;
color:#57595B;
padding:5px;
min-height:15px;
border-radius:5px;
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #E4E4E4,stop:1 #E4E4E4);
}
.QPushButton:hover,.QToolButton:hover{
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F6F6F6,stop:1 #F6F6F6);
}
.QPushButton:pressed,.QToolButton:pressed{
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #E4E4E4,stop:1 #E4E4E4);
}
.QToolButton::menu-indicator{
image:None;
}
QToolButton#btnMenu,QPushButton#btnMenu_Min,QPushButton#btnMenu_Max,QPushButton#btnMenu_Close{
border-radius:3px;
color:#57595B;
padding:3px;
margin:0px;
background:none;
border-style:none;
}
QToolButton#btnMenu:hover,QPushButton#btnMenu_Min:hover,QPushButton#btnMenu_Max:hover{
color:#FFFFFF;
margin:1px 1px 2px 1px;
background-color:rgba(51,127,209,230);
}
QPushButton#btnMenu_Close:hover{
color:#FFFFFF;
margin:1px 1px 2px 1px;
background-color:rgba(238,0,0,128);
}
QRadioButton::indicator{
width:15px;
height:15px;
}
QRadioButton::indicator::unchecked{
image:url(:/qss/flatgray/radiobutton_unchecked.png);
}
QRadioButton::indicator::unchecked:disabled{
image:url(:/qss/flatgray/radiobutton_unchecked_disable.png);
}
QRadioButton::indicator::checked{
image:url(:/qss/flatgray/radiobutton_checked.png);
}
QRadioButton::indicator::checked:disabled{
image:url(:/qss/flatgray/radiobutton_checked_disable.png);
}
QGroupBox::indicator,QTreeView::indicator,QListView::indicator,QTableView::indicator{
padding:0px 0px 0px 0px;
}
QCheckBox::indicator,QGroupBox::indicator,QTreeView::indicator,QListView::indicator,QTableView::indicator{
width:13px;
height:13px;
}
QCheckBox::indicator:unchecked,QGroupBox::indicator:unchecked,QTreeView::indicator:unchecked,QListView::indicator:unchecked,QTableView::indicator:unchecked{
image:url(:/qss/flatgray/checkbox_unchecked.png);
}
QCheckBox::indicator:unchecked:disabled,QGroupBox::indicator:unchecked:disabled,QTreeView::indicator:unchecked:disabled,QListView::indicator:unchecked:disabled,QTableView::indicator:unchecked:disabled{
image:url(:/qss/flatgray/checkbox_unchecked_disable.png);
}
QCheckBox::indicator:checked,QGroupBox::indicator:checked,QTreeView::indicator:checked,QListView::indicator:checked,QTableView::indicator:checked{
image:url(:/qss/flatgray/checkbox_checked.png);
}
QCheckBox::indicator:checked:disabled,QGroupBox::indicator:checked:disabled,QTreeView::indicator:checked:disabled,QListView::indicator:checked:disabled,QTableView::indicator:checked:disabled{
image:url(:/qss/flatgray/checkbox_checked_disable.png);
}
QCheckBox::indicator:indeterminate,QGroupBox::indicator:indeterminate,QTreeView::indicator:indeterminate,QListView::indicator:indeterminate,QTableView::indicator:indeterminate{
image:url(:/qss/flatgray/checkbox_parcial.png);
}
QCheckBox::indicator:indeterminate:disabled,QGroupBox::indicator:indeterminate:disabled,QTreeView::indicator:indeterminate:disabled,QListView::indicator:indeterminate:disabled,QTableView::indicator:indeterminate:disabled{
image:url(:/qss/flatgray/checkbox_parcial_disable.png);
}
QTimeEdit::up-button,QDateEdit::up-button,QDateTimeEdit::up-button,QDoubleSpinBox::up-button,QSpinBox::up-button{
image:url(:/qss/flatgray/add_top.png);
width:10px;
height:10px;
padding:2px 5px 0px 0px;
}
QTimeEdit::down-button,QDateEdit::down-button,QDateTimeEdit::down-button,QDoubleSpinBox::down-button,QSpinBox::down-button{
image:url(:/qss/flatgray/add_bottom.png);
width:10px;
height:10px;
padding:0px 5px 2px 0px;
}
QTimeEdit::up-button:pressed,QDateEdit::up-button:pressed,QDateTimeEdit::up-button:pressed,QDoubleSpinBox::up-button:pressed,QSpinBox::up-button:pressed{
top:-2px;
}
QTimeEdit::down-button:pressed,QDateEdit::down-button:pressed,QDateTimeEdit::down-button:pressed,QDoubleSpinBox::down-button:pressed,QSpinBox::down-button:pressed,QSpinBox::down-button:pressed{
bottom:-2px;
}
QComboBox::down-arrow,QDateEdit[calendarPopup="true"]::down-arrow,QTimeEdit[calendarPopup="true"]::down-arrow,QDateTimeEdit[calendarPopup="true"]::down-arrow{
image:url(:/qss/flatgray/add_bottom.png);
width:10px;
height:10px;
right:2px;
}
QComboBox::drop-down,QDateEdit::drop-down,QTimeEdit::drop-down,QDateTimeEdit::drop-down{
subcontrol-origin:padding;
subcontrol-position:top right;
width:15px;
border-left-width:0px;
border-left-style:solid;
border-top-right-radius:3px;
border-bottom-right-radius:3px;
border-left-color:#B6B6B6;
}
QComboBox::drop-down:on{
top:1px;
}
QMenuBar::item{
color:#57595B;
background-color:#E4E4E4;
margin:0px;
padding:3px 10px;
}
QMenu,QMenuBar,QMenu:disabled,QMenuBar:disabled{
color:#57595B;
background-color:#E4E4E4;
border:1px solid #B6B6B6;
margin:0px;
}
QMenu::item{
padding:3px 20px;
}
QMenu::indicator{
width:20px;
height:13px;
}
QMenu::indicator::checked{
image:url(:/qss/flatgray/menu_checked.png);
}
QMenu::right-arrow{
image:url(:/qss/flatgray/arrow_right.png);
width:13px;
height:13px;
padding:0px 3px 0px 0px;
}
QMenu::item:selected,QMenuBar::item:selected{
color:#57595B;
border:0px solid #B6B6B6;
background:#F6F6F6;
}
QMenu::separator{
height:1px;
background:#B6B6B6;
}
QProgressBar{
min-height:10px;
background:#E4E4E4;
border-radius:5px;
text-align:center;
border:1px solid #E4E4E4;
}
QProgressBar:chunk{
border-radius:5px;
background-color:#B6B6B6;
}
QSlider::groove:horizontal{
height:8px;
border-radius:4px;
background:#E4E4E4;
}
QSlider::add-page:horizontal{
height:8px;
border-radius:4px;
background:#E4E4E4;
}
QSlider::sub-page:horizontal{
height:8px;
border-radius:4px;
background:#B6B6B6;
}
QSlider::handle:horizontal{
width:13px;
margin-top:-3px;
margin-bottom:-3px;
border-radius:6px;
background:qradialgradient(spread:pad,cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0.6 #FFFFFF,stop:0.8 #B6B6B6);
}
QSlider::groove:vertical{
width:8px;
border-radius:4px;
background:#E4E4E4;
}
QSlider::add-page:vertical{
width:8px;
border-radius:4px;
background:#B6B6B6;
}
QSlider::sub-page:vertical{
width:8px;
border-radius:4px;
background:#E4E4E4;
}
QSlider::handle:vertical{
height:14px;
margin-left:-3px;
margin-right:-3px;
border-radius:6px;
background:qradialgradient(spread:pad,cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0.6 #FFFFFF,stop:0.8 #B6B6B6);
}
QScrollBar:horizontal{
background:#E4E4E4;
padding:0px;
border-radius:6px;
max-height:12px;
}
QScrollBar::handle:horizontal{
background:#B6B6B6;
min-width:50px;
border-radius:6px;
}
QScrollBar::handle:horizontal:hover{
background:#575959;
}
QScrollBar::handle:horizontal:pressed{
background:#575959;
}
QScrollBar::add-page:horizontal{
background:none;
}
QScrollBar::sub-page:horizontal{
background:none;
}
QScrollBar::add-line:horizontal{
background:none;
}
QScrollBar::sub-line:horizontal{
background:none;
}
QScrollBar:vertical{
background:#E4E4E4;
padding:0px;
border-radius:6px;
max-width:12px;
}
QScrollBar::handle:vertical{
background:#B6B6B6;
min-height:50px;
border-radius:6px;
}
QScrollBar::handle:vertical:hover{
background:#575959;
}
QScrollBar::handle:vertical:pressed{
background:#575959;
}
QScrollBar::add-page:vertical{
background:none;
}
QScrollBar::sub-page:vertical{
background:none;
}
QScrollBar::add-line:vertical{
background:none;
}
QScrollBar::sub-line:vertical{
background:none;
}
QScrollArea{
border:0px;
}
QTreeView,QListView,QTableView,QTabWidget::pane{
border:1px solid #B6B6B6;
selection-background-color:#F6F6F6;
selection-color:#57595B;
alternate-background-color:#F6F6F6;
gridline-color:#B6B6B6;
}
QTreeView::branch:closed:has-children{
margin:4px;
border-image:url(:/qss/flatgray/branch_open.png);
}
QTreeView::branch:open:has-children{
margin:4px;
border-image:url(:/qss/flatgray/branch_close.png);
}
QTreeView,QListView,QTableView,QSplitter::handle,QTreeView::branch{
background:#FFFFFF;
}
QTableView::item:selected,QListView::item:selected,QTreeView::item:selected{
color:#57595B;
background:#E4E4E4;
}
QTableView::item:hover,QListView::item:hover,QTreeView::item:hover,QHeaderView,QHeaderView::section,QTableCornerButton:section{
color:#57595B;
background:#F6F6F6;
}
QTableView::item,QListView::item,QTreeView::item{
padding:1px;
margin:0px;
border:0px;
}
QHeaderView::section,QTableCornerButton:section{
padding:3px;
margin:0px;
border:1px solid #B6B6B6;
border-left-width:0px;
border-right-width:1px;
border-top-width:0px;
border-bottom-width:1px;
}
QTabBar::tab{
border:1px solid #B6B6B6;
color:#57595B;
margin:0px;
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F6F6F6,stop:1 #F6F6F6);
}
QTabBar::tab:selected{
border-style:solid;
border-color:#575959;
background:#FFFFFF;
}
QTabBar::tab:top,QTabBar::tab:bottom{
padding:3px 8px 3px 8px;
}
QTabBar::tab:left,QTabBar::tab:right{
padding:8px 3px 8px 3px;
}
QTabBar::tab:top:selected{
border-width:2px 0px 0px 0px;
}
QTabBar::tab:right:selected{
border-width:0px 0px 0px 2px;
}
QTabBar::tab:bottom:selected{
border-width:0px 0px 2px 0px;
}
QTabBar::tab:left:selected{
border-width:0px 2px 0px 0px;
}
QTabBar::tab:first:top:selected,QTabBar::tab:first:bottom:selected{
border-left-width:1px;
border-left-color:#B6B6B6;
}
QTabBar::tab:first:left:selected,QTabBar::tab:first:right:selected{
border-top-width:1px;
border-top-color:#B6B6B6;
}
QTabBar::tab:last:top:selected,QTabBar::tab:last:bottom:selected{
border-right-width:1px;
border-right-color:#B6B6B6;
}
QTabBar::tab:last:left:selected,QTabBar::tab:last:right:selected{
border-bottom-width:1px;
border-bottom-color:#B6B6B6;
}
QStatusBar::item{
border:0px solid #E4E4E4;
border-radius:3px;
}
QToolBox::tab,QWidget[form="panel"]{
padding:3px;
border-radius:5px;
color:#57595B;
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #E4E4E4,stop:1 #E4E4E4);
}
QWidget[flag="paneltitle"]{
border-bottom-left-radius:0px;
border-bottom-right-radius:0px;
}
QWidget[flag="panelcontrol"]{
border-top-width:0px;
border-top-left-radius:0px;
border-top-right-radius:0px;
}
QToolTip{
border:0px solid #57595B;
padding:1px;
color:#57595B;
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #E4E4E4,stop:1 #E4E4E4);
}
QToolBox::tab:selected{
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #F6F6F6,stop:1 #F6F6F6);
}
QPrintPreviewDialog QToolButton{
border:0px solid #57595B;
border-radius:0px;
margin:0px;
padding:3px;
background:none;
}
QColorDialog QPushButton,QFileDialog QPushButton{
min-width:80px;
}
QToolButton#qt_calendar_prevmonth{
icon-size:0px;
min-width:20px;
image:url(:/qss/flatgray/calendar_prevmonth.png);
}
QToolButton#qt_calendar_nextmonth{
icon-size:0px;
min-width:20px;
image:url(:/qss/flatgray/calendar_nextmonth.png);
}
QToolButton#qt_calendar_prevmonth,QToolButton#qt_calendar_nextmonth,QToolButton#qt_calendar_monthbutton,QToolButton#qt_calendar_yearbutton{
border:0px solid #57595B;
border-radius:3px;
margin:3px 3px 3px 3px;
padding:3px;
background:none;
}
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{
border:1px solid #B6B6B6;
}
QCalendarWidget QSpinBox#qt_calendar_yearedit{
margin:2px;
}
QCalendarWidget QToolButton::menu-indicator{
image:None;
}
QCalendarWidget QTableView{
border-width:0px;
}
QCalendarWidget QWidget#qt_calendar_navigationbar{
border:1px solid #B6B6B6;
border-width:1px 1px 0px 1px;
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #E4E4E4,stop:1 #E4E4E4);
}
QTableView[model="true"]::item{
padding:0px;
margin:0px;
}
QTableView QLineEdit,QTableView QComboBox,QTableView QSpinBox,QTableView QDoubleSpinBox,QTableView QDateEdit,QTableView QTimeEdit,QTableView QDateTimeEdit{
border-width:0px;
border-radius:0px;
}
QTableView QLineEdit:focus,QTableView QComboBox:focus,QTableView QSpinBox:focus,QTableView QDoubleSpinBox:focus,QTableView QDateEdit:focus,QTableView QTimeEdit:focus,QTableView QDateTimeEdit:focus{
border-width:0px;
border-radius:0px;
}
QLineEdit,QTextEdit,QPlainTextEdit,QSpinBox,QDoubleSpinBox,QComboBox,QDateEdit,QTimeEdit,QDateTimeEdit{
background:#FFFFFF;
}
QTabWidget::pane:top{top:-1px;}
QTabWidget::pane:bottom{bottom:-1px;}
QTabWidget::pane:left{right:-1px;}
QTabWidget::pane:right{left:-1px;}
QDialog,QDial,#QUIWidgetMain{
background-color:#FFFFFF;
color:#57595B;
}
QDialogButtonBox>QPushButton{
min-width:50px;
}
QListView[noborder="true"],QTreeView[noborder="true"],QTabWidget[noborder="true"]::pane{
border-width:0px;
}
QToolBar>*,QStatusBar>*{
margin:2px;
}
*:disabled,QMenu::item:disabled,QTabBar:tab:disabled,QHeaderView::section:disabled{
background:#FFFFFF;
border-color:#E4E4E4;
color:#B6B6B6;
}
QLabel:disabled{
background:none;
}
/*TextColor:#57595B*/
/*PanelColor:#FFFFFF*/
/*BorderColor:#B6B6B6*/
/*NormalColorStart:#E4E4E4*/
/*NormalColorEnd:#E4E4E4*/
/*DarkColorStart:#F6F6F6*/
/*DarkColorEnd:#F6F6F6*/
/*HighColor:#575959*/

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 370 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 444 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 655 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 740 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 639 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 612 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 646 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 542 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

7
qt-theme/load_theme.cpp Normal file
View File

@ -0,0 +1,7 @@
void MainWidget::loadStyle(const QString & qssFile)
{
QFile qss_file(qssFile);
if (qss_file.open(QFile::ReadOnly)) {
qApp->setStyleSheet(qss_file.readAll());
}
}

View File

@ -0,0 +1,133 @@
#include "wait_dialog.h"
CWaitDialog::CWaitDialog(QWidget *parent)
: QDialog(parent),
frame_center_(nullptr),
movie_lable_(nullptr),
load_movie_(nullptr),
tip_lable_(nullptr),
cancel_btn_(nullptr) {
setWindowFlags(Qt::FramelessWindowHint |
Qt::Tool /* | Qt::WindowStaysOnTopHint*/);
setAttribute(Qt::WA_TranslucentBackground, true);
frame_center_ = new QFrame(this);
movie_lable_ = new QLabel(frame_center_);
tip_lable_ = new QLabel(frame_center_);
}
CWaitDialog::~CWaitDialog() {
delete load_movie_;
delete movie_lable_;
delete tip_lable_;
delete cancel_btn_;
delete frame_center_;
}
void CWaitDialog::Init(const QString &gif, int size) {
base_size = size;
int extend_unit_size = 20;
load_movie_ = new QMovie(gif);
movie_lable_->setMovie(load_movie_);
base_heigh_ = base_size + extend_unit_size * 3.2;
int dia_width = base_size + margin_;
int dia_heigh = base_heigh_ + margin_;
setFixedSize(dia_width, dia_heigh);
frame_center_->setGeometry(margin_, margin_, dia_width - margin_ * 2,
dia_heigh - margin_);
movie_lable_->setGeometry(margin_, margin_, dia_width - margin_ * 4,
base_size);
movie_lable_->setScaledContents(true);
load_movie_->start();
tip_lable_->setGeometry(margin_, base_size + margin_ * 2, dia_width,
extend_unit_size);
tip_lable_->setAlignment(Qt::AlignCenter | Qt::AlignHCenter);
tip_lable_->setObjectName("tips");
tip_lable_->setText(u8"处理中......");
tip_lable_->setStyleSheet(
"QLabel#tips{font-family:\"Microsoft "
"YaHei\";font-size: 15px;color: #333333;}");
cancel_btn_ = new QPushButton(frame_center_);
cancel_btn_->setObjectName("cancelBtn");
cancel_btn_->setText(u8"取消");
cancel_btn_->setGeometry(
margin_, base_size + margin_ * 3 + extend_unit_size * 1.2,
base_size - margin_ * 3, extend_unit_size + margin_);
cancel_btn_->setStyleSheet(
"QPushButton#cancelBtn{"
"background-color: #edeef6;"
"border-radius: 4px;"
"font-family: \"Microsoft YaHei\";"
"font-size: 15px;"
"color: #333333;"
"}"
"QPushButton#cancelBtn::hover{"
"background:#dcdeea"
"}");
connect(cancel_btn_, &QPushButton::clicked, this, &CWaitDialog::StopWait);
// 实例阴影shadow
QGraphicsDropShadowEffect *shadow = new QGraphicsDropShadowEffect(this);
shadow->setOffset(0, 0);
shadow->setColor(QColor(32, 101, 165));
shadow->setBlurRadius(10);
this->setGraphicsEffect(shadow);
}
void CWaitDialog::setTipsText(QString strTipsText) {
tip_lable_->setText(strTipsText);
}
void CWaitDialog::setCanCancel(bool show) {
cancel_btn_->setEnabled(show);
if (!show) {
cancel_btn_->setText(u8"取消已禁用");
} else {
cancel_btn_->setText(u8"取消");
}
}
void CWaitDialog::moveToCenter(QWidget *pParent) {
if (pParent != nullptr && pParent != nullptr) {
int nParentWidth = pParent->width();
int nParentHeigth = pParent->height();
int nWidth = this->width();
int nHeight = this->height();
int nParentX = pParent->x();
int nParentY = pParent->y();
int x = (nParentX + (nParentWidth - nWidth) / 2);
int y = (nParentY + (nParentHeigth - nHeight) / 2);
this->move(x, y);
}
}
void CWaitDialog::registerFunc(std::function<void()> call) { stopCall_ = call; }
void CWaitDialog::paintEvent(QPaintEvent *event) {
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
painter.setBrush(QBrush(Qt::white));
painter.setPen(Qt::transparent);
QRect rect = this->rect();
rect.setLeft(margin_);
rect.setTop(margin_);
rect.setWidth(rect.width() - margin_);
rect.setHeight(rect.height() - margin_);
painter.drawRoundedRect(rect, margin_, margin_);
QWidget::paintEvent(event);
}
void CWaitDialog::StopWait() {
this->close();
if (stopCall_) {
stopCall_();
}
}

View File

@ -0,0 +1,52 @@
#ifndef WAIT_DIALOG_H
#define WAIT_DIALOG_H
#include <QDialog>
#include <QGraphicsDropShadowEffect>
#include <QLabel>
#include <QMovie>
#include <QPainter>
#include <QPushButton>
#include <functional>
class CWaitDialog : public QDialog {
Q_OBJECT
public:
explicit CWaitDialog(QWidget *parent = nullptr);
~CWaitDialog();
public:
// 给定 gif 图和对话框的大小
void Init(const QString &gif, int size = 120);
// 设定提示信息(建议简短一些)
void setTipsText(QString strTipsText);
// 是否显示取消按钮
void setCanCancel(bool show);
// 移动对话框到指定窗口中间
void moveToCenter(QWidget *pParent);
// 注册用户点击取消后的回调函数
void registerFunc(std::function<void()> call);
protected:
void paintEvent(QPaintEvent *event) override;
Q_SIGNALS:
void cancelWaiting();
public:
void StopWait();
private:
QFrame *frame_center_;
QLabel *movie_lable_;
QMovie *load_movie_;
QLabel *tip_lable_;
QPushButton *cancel_btn_;
int margin_{3};
int base_size{120};
int base_heigh_{};
private:
std::function<void()> stopCall_{};
};
#endif // LOADINGDIALOG_H

Binary file not shown.