QWidget练习:导航栏实现

界面比较丑,主要记录下学习过程。
实现:QToolButton+qss+QStackedWidget
QWidget练习:导航栏实现_第1张图片鼠标悬浮在工具按键上 ,背景为红色;鼠标按下,背景绿色;选中为青色。
各个QTool Button设为互斥。

样式表设置:

QToolButton:hover{
background-color:red;
border-bottom:6px solid white 
}
QToolButton:checked{
background-color:cyan;
border-bottom:6px solid white 
}
QToolButton:pressed{
background-color:green
}
QToolButton{
background-color:gray;
border:none;            //如果只在QToolButton上设置background-color,
//除非将border属性设置为某个值,否则不会显示背景。这是因为,在默认下,QToolButton会绘制一个与背景色完全重叠的边框。
}
……
 QList<QToolButton*> pList = this->findChildren<QToolButton*>();
    QToolButton* p ;
    int i=12;
    foreach (p, pList) {
        p->setFont(QFont("宋体",14));
        p->setIconSize(QSize(40,40));
        p->setIcon(qApp->style()->standardIcon(QStyle::StandardPixmap(i+=1)));
    }

你可能感兴趣的:(Qt)