Skip to content

Instantly share code, notes, and snippets.

@Trass3r
Created February 14, 2014 14:58
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Trass3r/9002457 to your computer and use it in GitHub Desktop.
Save Trass3r/9002457 to your computer and use it in GitHub Desktop.
{
connect(ui.actionDarkOrangeTheme, &QAction::triggered, this, &MainWindow::activateDarkOrangeTheme);
connect(ui.actionDarkFusionTheme, &QAction::triggered, this, &MainWindow::activateDarkFusionTheme);
}
#include <QStyleFactory>
#define raw(...) #__VA_ARGS__
#pragma region qss
static const char* s = raw(
QToolTip
{
border:
1px solid black;
background - color : #ffa02f;
padding:
1px;
border - radius : 3px;
opacity:
100;
} QWidget
{
color:
#b1b1b1;
background - color : #323232;
} QWidget
: item
: hover
{
background - color
: QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0 #ffa02f, stop : 1 #ca0619);
color:
# 000000;
} QWidget
: item
: selected
{
background - color
: QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0 #ffa02f, stop : 1 #d7801a);
} QMenuBar::item
{
background:
transparent;
} QMenuBar::item
: selected
{
background:
transparent;
border:
1px solid #ffaa00;
} QMenuBar::item
: pressed
{
background:
# 444;
border:
1px solid #000;
background - color
: QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 1 #212121, stop : 0.4 #343434 /*,
stop:0.2 #343434,
stop:0.1 #ffaa00*/
);
margin - bottom : -1px;
padding - bottom : 1px;
} QMenu
{
border:
1px solid #000;
} QMenu::item
{
padding:
2px 20px 2px 20px;
} QMenu::item
: selected
{
color:
# 000000;
} QWidget
: disabled
{
color:
# 404040;
background - color : #323232;
} QAbstractItemView
{
background - color : QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0 #4d4d4d,
stop : 0.1 #646464, stop : 1 #5d5d5d);
} QWidget
: focus
{
/*border: 2px solid QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1
#d7801a);*/
} QLineEdit
{
background - color : QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0 #4d4d4d,
stop : 0 #646464, stop : 1 #5d5d5d);
padding:
1px;
border - style : solid;
border:
1px solid #1e1e1e;
border - radius : 5;
} QPushButton
{
color:
#b1b1b1;
background - color
: QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0 #565656, stop : 0.1 #525252,
stop : 0.5 #4e4e4e, stop : 0.9 #4a4a4a, stop : 1 #464646);
border - width : 1px;
border - color : #1e1e1e;
border - style : solid;
border - radius : 6;
padding:
3px;
font - size : 12px;
padding - left : 5px;
padding - right : 5px;
} QPushButton
: pressed
{
background - color
: QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0 #2d2d2d, stop : 0.1 #2b2b2b,
stop : 0.5 #292929, stop : 0.9 #282828, stop : 1 #252525);
} QComboBox
{
selection - background - color : #ffaa00;
background - color
: QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0 #565656, stop : 0.1 #525252,
stop : 0.5 #4e4e4e, stop : 0.9 #4a4a4a, stop : 1 #464646);
border - style : solid;
border:
1px solid #1e1e1e;
border - radius : 5;
} QComboBox
: hover, QPushButton
: hover
{
border:
2px solid QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0 #ffa02f, stop : 1 #d7801a);
} QComboBox
: on
{
padding - top : 3px;
padding - left : 4px;
background - color : QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0 #2d2d2d,
stop : 0.1 #2b2b2b, stop : 0.5 #292929,
stop : 0.9 #282828, stop : 1 #252525);
selection - background - color : #ffaa00;
} QComboBox QAbstractItemView
{
border:
2px solid darkgray;
selection - background - color
: QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0 #ffa02f, stop : 1 #d7801a);
} QComboBox::drop -
down
{
subcontrol - origin : padding;
subcontrol - position : top right;
width:
15px;
border - left - width : 0px;
border - left - color : darkgray;
border - left - style : solid; /* just a single line */
border - top - right - radius : 3px; /* same radius as the QComboBox */
border - bottom - right - radius : 3px;
} QComboBox::down -
arrow
{
image:
url( : / down_arrow.png);
} QGroupBox
: focus
{
border:
2px solid QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0 #ffa02f, stop : 1 #d7801a);
} QTextEdit
: focus
{
border:
2px solid QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0 #ffa02f, stop : 1 #d7801a);
} QScrollBar
: horizontal
{
border:
1px solid #222222;
background:
QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0.0 #121212, stop : 0.2 #282828,
stop : 1 #484848);
height:
7px;
margin:
0px 16px 0 16px;
} QScrollBar::handle
: horizontal
{
background:
QLinearGradient(x1 : 0, y1 : 0, x2 : 1, y2 : 0, stop : 0 #ffa02f, stop : 0.5 #d7801a,
stop : 1 #ffa02f);
min - height : 20px;
border - radius : 2px;
} QScrollBar::add -
line
: horizontal
{
border:
1px solid #1b1b19;
border - radius : 2px;
background:
QLinearGradient(x1 : 0, y1 : 0, x2 : 1, y2 : 0, stop : 0 #ffa02f, stop : 1 #d7801a);
width:
14px;
subcontrol - position : right;
subcontrol - origin : margin;
} QScrollBar::sub -
line
: horizontal
{
border:
1px solid #1b1b19;
border - radius : 2px;
background:
QLinearGradient(x1 : 0, y1 : 0, x2 : 1, y2 : 0, stop : 0 #ffa02f, stop : 1 #d7801a);
width:
14px;
subcontrol - position : left;
subcontrol - origin : margin;
} QScrollBar::right -
arrow
: horizontal, QScrollBar::left - arrow
: horizontal
{
border:
1px solid black;
width:
1px;
height:
1px;
background:
white;
} QScrollBar::add -
page
: horizontal, QScrollBar::sub - page
: horizontal
{
background:
none;
} QScrollBar
: vertical
{
background:
QLinearGradient(x1 : 0, y1 : 0, x2 : 1, y2 : 0, stop : 0.0 #121212, stop : 0.2 #282828,
stop : 1 #484848);
width:
7px;
margin:
16px 0 16px 0;
border:
1px solid #222222;
} QScrollBar::handle
: vertical
{
background:
QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0 #ffa02f, stop : 0.5 #d7801a,
stop : 1 #ffa02f);
min - height : 20px;
border - radius : 2px;
} QScrollBar::add -
line
: vertical
{
border:
1px solid #1b1b19;
border - radius : 2px;
background:
QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0 #ffa02f, stop : 1 #d7801a);
height:
14px;
subcontrol - position : bottom;
subcontrol - origin : margin;
} QScrollBar::sub -
line
: vertical
{
border:
1px solid #1b1b19;
border - radius : 2px;
background:
QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0 #d7801a, stop : 1 #ffa02f);
height:
14px;
subcontrol - position : top;
subcontrol - origin : margin;
} QScrollBar::up -
arrow
: vertical, QScrollBar::down - arrow
: vertical
{
border:
1px solid black;
width:
1px;
height:
1px;
background:
white;
} QScrollBar::add -
page
: vertical, QScrollBar::sub - page
: vertical
{
background:
none;
} QTextEdit
{ background - color : #242424; } QPlainTextEdit
{ background - color : #242424; } QHeaderView::section
{
background - color
: QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0 #616161, stop : 0.5 #505050,
stop : 0.6 #434343, stop : 1 #656565);
color:
white;
padding - left : 4px;
border:
1px solid #6c6c6c;
} QCheckBox
: disabled
{
color:
# 414141;
} QDockWidget::title
{
text - align : center;
spacing:
3px; /* spacing between items in the tool bar */
background - color : QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0 #323232,
stop : 0.5 #242424, stop : 1 #323232);
} QDockWidget::close -
button,
QDockWidget::float - button
{
text - align : center;
spacing:
1px; /* spacing between items in the tool bar */
background - color : QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0 #323232,
stop : 0.5 #242424, stop : 1 #323232);
} QDockWidget::close -
button
: hover, QDockWidget::float - button
: hover
{
background:
# 242424;
} QDockWidget::close -
button
: pressed, QDockWidget::float - button
: pressed
{
padding:
1px - 1px - 1px 1px;
} QMainWindow::separator
{
background - color
: QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0 #161616, stop : 0.5 #151515,
stop : 0.6 #212121, stop : 1 #343434);
color:
white;
padding - left : 4px;
border:
1px solid #4c4c4c;
spacing:
3px; /* spacing between items in the tool bar */
} QMainWindow::separator
: hover
{
background - color : QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0 #d7801a,
stop : 0.5 #b56c17 stop : 1 #ffa02f);
color:
white;
padding - left : 4px;
border:
1px solid #6c6c6c;
spacing:
3px; /* spacing between items in the tool bar */
} QToolBar::handle
{
spacing:
3px; /* spacing between items in the tool bar */
background:
url( : / images / handle.png);
} QMenu::separator
{
height:
2px;
background - color : QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 0 #161616,
stop : 0.5 #151515, stop : 0.6 #212121, stop : 1 #343434);
color:
white;
padding - left : 4px;
margin - left : 10px;
margin - right : 5px;
} QProgressBar
{
border:
2px solid grey;
border - radius : 5px;
text - align : center;
} QProgressBar::chunk
{
background - color : #d7801a;
width:
2.15px;
margin:
0.5px;
} QTabBar::tab
{
color:
#b1b1b1;
border:
1px solid #444;
border - bottom - style : none;
background - color : #323232;
padding - left : 10px;
padding - right : 10px;
padding - top : 3px;
padding - bottom : 2px;
margin - right : -1px;
} QTabWidget::pane
{
border:
1px solid #444;
top:
1px;
} QTabBar::tab
: last
{
margin - right : 0; /* the last selected tab has nothing to overlap with on the right */
border - top - right - radius : 3px;
} QTabBar::tab
: first
: !selected
{
margin - left : 0px; /* the last selected tab has nothing to overlap with on the right */
border - top - left - radius : 3px;
} QTabBar::tab
: !selected
{
color:
#b1b1b1;
border - bottom - style : solid;
margin - top : 3px;
background - color
: QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 1 #212121, stop : .4 #343434);
} QTabBar::tab
: selected
{
border - top - left - radius : 3px;
border - top - right - radius : 3px;
margin - bottom : 0px;
} QTabBar::tab
: !selected
: hover
{
/*border-top: 2px solid #ffaa00;
padding-bottom: 3px;*/
border - top - left - radius : 3px;
border - top - right - radius : 3px;
background - color
: QLinearGradient(x1 : 0, y1 : 0, x2 : 0, y2 : 1, stop : 1 #212121, stop : 0.4 #343434,
stop : 0.2 #343434, stop : 0.1 #ffaa00);
} QRadioButton::indicator
: checked, QRadioButton::indicator
: unchecked
{
color:
#b1b1b1;
background - color : #323232;
border:
1px solid #b1b1b1;
border - radius : 6px;
} QRadioButton::indicator
: checked
{
background - color : qradialgradient(cx : 0.5, cy : 0.5, fx : 0.5, fy : 0.5, radius : 1.0,
stop : 0.25 #ffaa00, stop : 0.3 #323232);
} QCheckBox::indicator
{
color:
#b1b1b1;
background - color : #323232;
border:
1px solid #b1b1b1;
width:
9px;
height:
9px;
} QRadioButton::indicator
{ border - radius : 6px; } QRadioButton::indicator
: hover, QCheckBox::indicator
: hover
{
border:
1px solid #ffaa00;
} QCheckBox::indicator
: checked
{
image:
url( : / images / checkbox.png);
} QCheckBox::indicator
: disabled, QRadioButton::indicator
: disabled
{
border:
1px solid #444;
});
#pragma endregion
void MainWindow::activateDarkOrangeTheme()
{
// http://tech-artists.org/forum/showthread.php?2359-Release-Qt-dark-orange-stylesheet
qApp->setStyle(QStringLiteral("plastique"));
qApp->setPalette(QPalette());
qApp->setStyleSheet(QLatin1String(s));
}
void MainWindow::activateDarkFusionTheme()
{
/*
Dark Qt 5 Fusion theme
http://contingencycoder.wordpress.com/2013/08/15/dark-fusion-theme-for-qt-5/
*/
// bright fusion looks worse than default
qApp->setStyle(QStringLiteral("fusion"));
QPalette palette;
palette.setColor(QPalette::Window, QColor(53, 53, 53));
palette.setColor(QPalette::WindowText, Qt::white);
palette.setColor(QPalette::Base, QColor(25, 25, 25));
palette.setColor(QPalette::AlternateBase, QColor(53, 53, 53));
palette.setColor(QPalette::ToolTipBase, Qt::white);
palette.setColor(QPalette::ToolTipText, Qt::white);
palette.setColor(QPalette::Text, Qt::white);
palette.setColor(QPalette::Button, QColor(53, 53, 53));
palette.setColor(QPalette::ButtonText, Qt::white);
palette.setColor(QPalette::BrightText, Qt::red);
palette.setColor(QPalette::Link, QColor(42, 130, 218));
palette.setColor(QPalette::Highlight, QColor(42, 130, 218));
palette.setColor(QPalette::HighlightedText, Qt::black);
// for the tool tips to blend them better with the rest of the theme
qApp->setStyleSheet(
"QToolTip { color: #ffffff; background-color: #2a82da; border: 1px solid white; }");
qApp->setPalette(palette);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment