• 6719阅读
  • 5回复

请教QT自画Scrollbar [复制链接]

上一主题 下一主题
离线tszzp
 
只看楼主 倒序阅读 楼主  发表于: 2009-11-05
我想用QT画一个自定义的Scrollbar,改变它的两个PushButton和中间的Thumb的样子.请问怎么做?哪里有这样的例子可以参考?谢谢!
离线hiti_tony
只看该作者 1楼 发表于: 2009-11-05
重载paintevent自己画
离线tszzp
只看该作者 2楼 发表于: 2009-11-09
重载paintEvent函数的话,那点击repeatButton和点击Thumb,都要自己处理.有更好的方式吗?谢谢!
离线rqzrqh

只看该作者 3楼 发表于: 2009-11-09
简单点的话styleSheet应该可以。
tableWidget->verticalScrollBar()->setStyleSheet("QScrollBar:vertical {"
      "border:0px solid grey;"
      "width: 35px;"
      "margin: 22px 0 22px 0;"
      "}"
      "  QScrollBar::handle:vertical {"
      "      background: #F2F5BC;"
      "      border: 3px solid grey;"
      "      min-height: 20px;"
      "  }"
      "  QScrollBar::add-line:vertical {"
      "      height: 26px;"
      "      subcontrol-position: bottom;"
      "      subcontrol-origin: margin;"
      "  }"
      "  QScrollBar::sub-line:vertical {"
      "      height: 26px;"
      "      subcontrol-position: top;"
      "      subcontrol-origin: margin;"
      "  }"
      "QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {"
      "    background: none;"
      "}");
离线hiti_tony
只看该作者 4楼 发表于: 2009-11-09
up!
离线tszzp
只看该作者 5楼 发表于: 2009-11-10
谢谢回复,我的自画的ScrollBar比较复杂。repeatbutton和thumb都要改变大小和样子,包括鼠标移上去和按下去的样子,每一个都要自己画。我在网上看到可以用QStyle来做到。
我已经做了一个简单的例子,发现它能实现,但要实现我要的效果,还是有些问题。现在我碰到了一个问题,怎么才能把一个物体(比如矩形)按它的中心点来旋转,我发现用
QPainter::Rotate都是按照坐标原点来旋转,而我在加上QPainter::Translate,发现效果也不对。谁能告诉我怎么才能做到?或者谁有这方面例子?谢谢!
快速回复
限100 字节
 
上一个 下一个