在用Qt设计按钮时若采用默认样式,效果往往欠佳,这里给出一个有金属质感的3D按钮样式。为了展示效果,以工具栏按钮和普通按钮分别举例:
普通按钮

QPushButton {
background-color: rgb(12, 45, 64);
color: rgb(255, 255, 255);
border-bottom: 2px solid rgb(50,50,50);
border-right: 2px solid rgb(50,50,50);
border-top: 2px solid rgb(120,120,120);
;
border-left: 2px solid rgb(120,120,120);
;
padding-left: 1px;
padding-top: 1px;
}
QPushButton:disabled {
background-color: rgb(12, 45, 64);
color: rgb(128, 128, 128);
font: 10pt"宋体";
border-radius: 5px;
border-bottom: 2px solid rgb(120,120,120);
border-right: 2px solid rgb(120,120,120);
border-top: 2px solid rgb(50,50,50);
border-left: 2px solid rgb(50,50,50);
}
QPushButton:hover {
background-color: rgb(22, 65, 84);
}
QPushButton:pressed {
background-color: rgb(12, 45, 64);
color: rgb(255, 255, 255);
font: 10pt"宋体";
border-radius: 5px;
border-bottom: 2px solid rgb(120,120,120);
border-right: 2px solid rgb(120,120,120);
border-top: 2px solid rgb(50,50,50);
border-left: 2px solid rgb(50,50,50);
}
工具栏按钮

QToolBar
{
font: 12pt"宋体";
background: rgb(87,91,108);
}
QToolButton {
background-color: rgb(87, 91, 108);
color: rgb(255, 255, 255);
border-bottom: 2px solid rgb(50,50,50);
border-right: 2px solid rgb(50,50,50);
border-top: 2px solid rgb(120,120,120);
border-left: 2px solid rgb(120,120,120);
;
padding-left: 1px;
padding-top: 1px;
}
QToolButton:hover {
background-color: rgb(250,135,116);
}
QToolButton:pressed {
background-color: #FFA500;
border: 1px solid #FF8C00;
}
QToolButton:checked {
background-color: rgb(90,127,246);
}
QTabBar::tab {
background:rgb(87, 91, 108);
color: rgb(255,255,255);
border: 1px solid #ccc;
padding: 5px;
font-size: 14px;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
QTabBar::tab:selected {
background: rgb(90,127,246);
border-bottom-color: #f0f0f0;
}
QTabBar::tab:hover {
background: rgb(80, 15, 20);
}
打开Qt设计师软件,选中要设计样式的按钮,在如下图所示的栏目中粘贴上述样式代码即可实现效果。
