如何在qcombox中放大垂直滚动条的宽度



我想从C++中的qcombox中放大垂直滚动条的宽度。我尝试了以下方式:

comboBox->setStyleSheet( "QScrollBar:vertical { width: 30px; }");

但它没有显示出任何效果。

有人能告诉我如何解决这个问题吗?

当度量为QStyle::PM_ScrollBarExtent:时,您可以对样式进行子类化并重新实现QStyle::pixelMetric()以返回所需的宽度

class Style : public QWindowsStyle
{
public:
  Style()
  {
  }
  int pixelMetric ( PixelMetric metric, const QStyleOption * option = 0, const QWidget * widget = 0 ) const
  {
    if (metric == QStyle::PM_ScrollBarExtent)
      return 30;
    return QWindowsStyle::pixelMetric(metric, option, widget);
  }
};

并设置组合框的样式:

comboBox->setStyle(new Style());
self.comboBox.view().verticalScrollBar().setStyleSheet("width: 30px;")

适用于python。请更新C++

最新更新