我刚才已经改变了一些工具栏从Q3ToolBars(有明确添加到他们QToolButtons)到Q4工具栏(添加到他们马上代替行动。)
旧的工具按钮让他们围绕一个漂亮的轮廓,但这不是在新版本中显示; 在Q4工具栏中的QActions只是看起来像一条线的图标。 有没有办法来改变在新版本的“按钮”风格(假设这些行动可以被视为这样的),给他们的轮廓? 我已经通过了在QToolBar参考看了,但toolButtonStyle()函数只出现与是否要显示图标,文本等工作
...还是我将不得不只是让实际的工具按钮和/或QPushButtons和使用addWidget()?
是的,当然你也可以编辑两种不同的方式QToolButtons的样子:
- 您可以通过设置它的风格sheet 无效的QWidget :: setStyleSheet(常量QString的和)
- 您可以重新实现新的QToolButtons类的paintEvent功能,您将能够精确地设置您的按钮应该的样子。
与给定的动作有关的部件是通过访问QToolBar::widgetForAction
(因为Qt的4.2)。 所以,你可以通过你的行动,以这种方法,得到QWidget
S按它返回,并将其转换为QToolBar
,并处理它们就像你通常会(代码未测试):
// ...
auto toolButton =
static_cast<QToolButton *>(
m_ui.toolbar->widgetForAction(m_ui.my_Action));
// Will make the toolButton always appear raised:
toolButton->setAutoRaise(false);
// ...
至于我一直在测试,某些方法可能无法正常工作(即QWidget::hide
),所以做你自己的测试。