Как увеличить ширину вертикальной полосы прокрутки в qcombobox

#c #qt

#c #qt

Вопрос:

Я хочу увеличить ширину вертикальной полосы прокрутки из qcombobox в C . Я попробовал это следующим образом:

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

но это не дает никакого эффекта.

Кто-нибудь может дать мне совет, как решить проблему?

Ответ №1:

Вы можете подклассировать свой стиль и переопределить QStyle::pixelMetric() , чтобы вернуть нужную ширину, когда метрика равна QStyle::PM_ScrollBarExtent :

 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 :

 comboBox->setStyle(new Style());