就是那种典型的分为左右两边的按钮,点击menu-button后会弹出菜单
如果不设定边框的话不会出现问题,但在设定边框之后再进行绘制的时候,填充文字和背景的区域则包括了右侧menu-button的区域,从而使得图片和文字在整个按钮的中间儿不是左侧按钮中间的问题
以下提供一段代码方便说明问题,在鼠标hover的时候会出现按钮文字右移的情况:
    QFile file("test.qss");
    file.open(QFile::ReadOnly);
    a.setStyleSheet(file.readAll());
    file.close();
    QToolBar* tb = new QToolBar;
    QToolButton* button = new QToolButton;
    button->setText(QString("test"));
    QMenu* m = new QMenu;
    m->addAction(QString("1"));
    button->setMenu(m);
    button->setPopupMode(QToolButton::MenuButtonPopup);
    tb->addWidget(button);
    tb->show();
接下来是QSS,针对上边的代码可以把QSS文件名称设成test.qss:
QToolButton:hover
{
    border: 2px solid blue;
    background-color: red;
}
所以土问大家有没有什么好的解决方法?小弟感激不尽