就是那种典型的分为左右两边的按钮,点击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;
}
所以土问大家有没有什么好的解决方法?小弟感激不尽