如何在QToolBar中自定义操作的外观?
我刚刚将一些工具栏从Q3工具栏(明确添加了QToolButtons)更改为Q4工具栏(直接添加了操作) 旧的工具按钮周围有一个漂亮的轮廓,但在新版本中没有显示;Q4工具栏中的QActions看起来就像一行图标。有没有办法改变新版本中的“按钮”样式(假设这些动作可以被视为是这样的),并给出它们的大纲?我已经浏览了QToolBar引用,但是toolButtonStyle()函数似乎只适用于是否要显示图标、文本等如何在QToolBar中自定义操作的外观?,qt,qt4,qtoolbar,Qt,Qt4,Qtoolbar,我刚刚将一些工具栏从Q3工具栏(明确添加了QToolButtons)更改为Q4工具栏(直接添加了操作) 旧的工具按钮周围有一个漂亮的轮廓,但在新版本中没有显示;Q4工具栏中的QActions看起来就像一行图标。有没有办法改变新版本中的“按钮”样式(假设这些动作可以被视为是这样的),并给出它们的大纲?我已经浏览了QToolBar引用,但是toolButtonStyle()函数似乎只适用于是否要显示图标、文本等 …还是我只需要制作实际的工具按钮和/或QPushButtons并使用addWidget(
…还是我只需要制作实际的工具按钮和/或QPushButtons并使用addWidget() 是的,当然您可以用两种不同的方式编辑QToolButtons的外观:
是的,当然可以通过两种不同的方式编辑QToolButtons的外观:
与给定操作关联的小部件可以通过访问(从Qt4.2开始)。因此,您可以将您的操作传递给此方法,获取它返回的
QWidget
s,将它们转换为QToolBar
,并像平常一样处理它们(代码未测试):
/。。。
自动工具按钮=
静态浇铸(
m_ui.toolbar->widgetForAction(m_ui.my_Action));
//将使toolButton始终显示为凸起:
toolButton->setAutoRaise(假);
// ...
就我所做的测试而言,有些方法可能不起作用(例如,
QWidget::hide
),所以请自己进行测试。与给定操作相关联的小部件可以通过访问(从Qt 4.2开始)。因此,您可以将您的操作传递给此方法,获取它返回的QWidget
s,将它们转换为QToolBar
,并像平常一样处理它们(代码未测试):
/。。。
自动工具按钮=
静态浇铸(
m_ui.toolbar->widgetForAction(m_ui.my_Action));
//将使toolButton始终显示为凸起:
toolButton->setAutoRaise(假);
// ...
就我所做的测试而言,有些方法可能不起作用(例如,
QWidget::hide
),所以请自己进行测试。我查看了样式表文档,没有找到任何具体的方法来做大纲,除非我看得不够仔细。至于paintEvent…如果有必要,我会调查的。不过,希望有一个简单的解决方法:/I我浏览了样式表文档,没有找到任何具体的方法来做提纲,除非我看得不够仔细。至于paintEvent…如果有必要,我会调查的。不过,希望有一个简单的解决办法:/
// ...
auto toolButton =
static_cast<QToolButton *>(
m_ui.toolbar->widgetForAction(m_ui.my_Action));
// Will make the toolButton always appear raised:
toolButton->setAutoRaise(false);
// ...