• 5143阅读
  • 3回复

大牛们,如何让滚动条变宽 [复制链接]

上一主题 下一主题
离线muqiujuan
 
只看楼主 倒序阅读 楼主  发表于: 2012-07-11
其实在PC机上已经实现了将tabelWidget的滚动条变宽,
而且还实现spinBox的上下按钮变宽,用QSS实现,
QScrollBar{
width:30;
}
QSpinBox::up-button{
width:30;
height:20;
}
QSpinBox::down-button{
width:30;
height:20;
}
问题时,经过交叉编译后到ARM开发板执行时,只有spinBox效果和PC机上
一样,而tabelWidget上的滚动条没按我期望的那样变为30个像素点的宽度。
不知道为什么会这样
求哪位大牛指导一下,不胜感激
离线passion_wu
只看该作者 1楼 发表于: 2012-07-11
我在omap3530的开发板上是这样实现的:

class CustomStyle: public QWindowsStyle
{
public:
    CustomStyle(int scrollBarExtent = 20);
    int pixelMetric(PixelMetric metric, const QStyleOption * option,
            const QWidget *pWidget) const;
private:
    int m_scrollBarExtent; //滚动条宽度(水平)或高度(垂直)
};

CustomStyle::CustomStyle(int scrollBarExtent) :
    m_scrollBarExtent(scrollBarExtent)
{

}

int CustomStyle::pixelMetric(PixelMetric metric, const QStyleOption * option,
        const QWidget *pWidget) const
{
    Q_UNUSED(option);
    switch (metric)
    {
    case PM_ScrollBarExtent:
        return m_scrollBarExtent;
    default:
        return QWindowsStyle::pixelMetric(metric, 0, pWidget);
    }
}

然后调用QScrollBar的setStyle就可以了
离线passion_wu
只看该作者 2楼 发表于: 2012-07-11
case PM_ScrollBarExtent:
这里还可以指定其它的元素,然后返回它的值就可以了,具体的查下Assistant吧。
离线张小鹏

只看该作者 3楼 发表于: 2015-10-09


请问博主你的问题解决了没有啊?我最近 也遇到这样的问题!想问问是什么原因?和你的解决方案是什么?谢谢了



快速回复
限100 字节
 
上一个 下一个