有没有办法防止QToolButton
点击时被“压入”?我在某个地方读到了那个设置
button->setCheckable(false);
应该做的伎俩,但事实并非如此。
有没有办法防止QToolButton
点击时被“压入”?我在某个地方读到了那个设置
button->setCheckable(false);
应该做的伎俩,但事实并非如此。
有一种方法可以通过 QProxyStyle 做到这一点:
class ButtonProxyStyle : public QProxyStyle
{
public:
const int pixelMetric(PixelMetric metric, const QStyleOption *option = 0, const QWidget *widget = 0)
{
int ret = 0;
switch (metric)
{
case QStyle::PM_ButtonShiftHorizontal:
case QStyle::PM_ButtonShiftVertical:
ret = 0;
break;
default:
ret = QProxyStyle::pixelMetric(metric, option, widget);
break;
}
return ret;
}
};
然后,使用您的按钮:
myToolButton->setStyle(new ButtonProxyStyle);
将QAction添加到工具栏并使用它来控制您的工具按钮
// button action
QAction * poBtnAction = poToolbar->addWidget(button);
// disable button
poBtnAction->setEnabled(false);