QToolButtons非平面按钮样式



我正在使用Qt Widgets版本4.8。我将QAction对象放入QToolBar。我只显示文本,没有图标。文本显示为平面,没有轮廓,直到将鼠标悬停在文本上,然后文本显示为按钮。我想让这个按钮一直看起来,而不仅仅是在悬停时。

我知道扁平化的外观似乎无处不在,但它总是用于图标。我还认识到,QToolBar的背景阴影使它很明显是一个工具栏,因此包含操作。然而,对于我展示应用程序的每个人来说,他们根本不清楚那里有操作,而且我有管理人员要求我让它看起来像一个按钮。

我有Qt配置使用CleanLooks风格。不幸的是,这似乎不是由我可以修改的样式表定义的。如果我尝试为QToolButton设置样式,该样式会擦除原始样式,而不是仅仅更新单个项目。我需要知道所有的原始值才能正确地做到这一点。

有什么答案或建议吗?

您可以使用QAction * QToolBar::addWidget ( QWidget * widget )方法在工具栏上添加一个实际按钮。

使用QToolBar::widgetForAction。例如:

auto toolButton =
    static_cast<QToolButton *>(toolBar->widgetForAction(action));
toolButton->setAutoRaise(false);

来自我自己对类似问题的回答:https://stackoverflow.com/a/31972514/2507567

最新更新