当前位置:网站首页>QPushButton 样式使用示例(以及按钮setmenu添加下拉菜单的方法)

QPushButton 样式使用示例(以及按钮setmenu添加下拉菜单的方法)

2022-06-26 17:08:00 Licht小粉

QPushButton {
    font-family: "Microsoft YaHei";
    font-size: 16px;
    color: #BDC8E2;
    font-style: italic;
    font-weight: bold;

    text-align: left center;
    padding-left: 25px;
    padding-top: 0px;

    border-style: solid;
    border-width: 2px;
    border-color: aqua;
    border-radius: 20px;

    background-color: #2E3648;
    background-image: url("./image.png");
    background-repeat: no-repeat;
    background-position: left center;
}

QPuahButton 进行动态样式设置

鼠标悬浮时的样式

QPushButton:hover{
	color: red;
	border-color: green;
    background-color: aqua;
}

鼠标点击时的样式 

QPushButton:pressed{
	color: green;
	border-color: blueviolet;
    background-color: black;
}

按钮禁止时的样式

QPushButton:disabled{
	color: blue;
	border-color: brown;
    background-color: aqua;
}

结合使用示例:

const QString NORMAL = {"QPushButton{background-color:lightgray;color:black;text-align:mid;}" 
                        "QPushButton:pressed{ background-color:lightgreen;color:black;text-align:mid; }"};


button->setSheetSytle(NORMAL);

对于 QPushButton,可以给它设置添加一个下拉菜单,这需要调用 QPushButton 的 setMenu() 方法,当菜单设置成功后,QPushButton 就会默认添加一个 menu-indicator 下拉菜单指示器图标,我们可以对这个菜单图标进行样式修改

QPushButton::menu-indicator {
    image: url(myindicator.png);
    subcontrol-position: right center;
    subcontrol-origin: padding;
    right: 10px;
    top: 15px;
}

image 为设置菜单指示器图标

subcontrol-position 为设置菜单指示器图标的位置,如果不设置的话会默认放在右下角处

subcontrol-origin 为设置菜单指示器图标与按钮之间的停靠位置,默认为 padding

right top left bottom 为设置菜单指示器图标距离按钮四个位置的距离

QPushButton::menu-indicator:hover {
    image: url(./image1.png)
}

QPushButton::menu-indicator:pressed{
    image: url(./image2.png)
}

QPushButton::menu-indicator:open{
    image: url(./image2.png)
}

QT css样式 详解
 

原网站

版权声明
本文为[Licht小粉]所创,转载请带上原文链接,感谢
https://blog.csdn.net/ligare/article/details/125471641