放喵归山 2023-12-18 09:00 采纳率: 40%
浏览 10

QTreeWidget滑条问题

QTreeWidget想要添加水平和垂直滑条,可是样式怎么都设不对

ui.tree_color->setStyleSheet(
    "QScrollBar::handle:hover { \n"
    "    background:rgb(79, 79, 79); \n"
    "} \n"

    "QScrollBar::add-line, QScrollBar::sub-line { \n"
    "    background: transparent; \n"
    "} \n"

    "QScrollBar::add-page, QScrollBar::sub-page{ \n"
    "    background: transparent; \n"
    "} \n"

    "QScrollBar::up-arrow, QScrollBar::down-arrow { \n"
    "    background: transparent; \n"
    "} \n"
);

ui.tree_color->verticalScrollBar()->setStyleSheet(
    "QScrollBar:vertical { \n"
    "    border: transparent; \n"
    "    background:transparent; \n"
    "    padding-top:10px; \n"
    "    padding-bottom:10px; \n"
    "    padding-left:4px; \n"
    "    padding-right:4px; \n"
    "} \n"

    "QScrollBar::handle:vertical{ \n"
    "    background-color:rgb(56, 63, 72); \n"
    "    border-radius:4px; \n"
    "    min-height: 60px; \n"
    "} \n"

    "QScrollBar::add-line, QScrollBar::sub-line { \n"
    "    background: transparent; \n"
    "} \n"

    "QScrollBar::add-page, QScrollBar::sub-page{ \n"
    "    background: transparent; \n"
    "} \n"

    "QScrollBar::up-arrow, QScrollBar::down-arrow { \n"
    "    background: transparent; \n"
    "} \n"
);

ui.tree_color->horizontalScrollBar()->setStyleSheet(
    "QScrollBar:horizontal { \n"
    "    border: transparent; \n"
    "    background:transparent; \n"
    "    padding-left:10px; \n"
    "   padding-right:10px; \n"
    "    padding-top:4px; \n"
    "    padding-bottom:4px; \n"
    "} \n"

    "QScrollBar::handle:horizontal{ \n"
    "    background-color:rgb(56, 63, 72); \n"
    "    border-radius:4px; \n"
    "    min-width: 60px; \n"
    "}; \n"

    "QScrollBar::add-line, QScrollBar::sub-line { \n"
    "    background: transparent; \n"
    "} \n"

    "QScrollBar::add-page, QScrollBar::sub-page{ \n"
    "    background: transparent; \n"
    "} \n"

    "QScrollBar::up-arrow, QScrollBar::down-arrow { \n"
    "    background: transparent; \n"
    "} \n"
);

img

我直接把qss写在Qt Designer中,不知道为什么预览都是没效果的,不得已加到了代码中,水平垂直滑条必须通过ScrollBar对象设置,好不容易有效果了,发现水平滑条的两端并没有隐藏掉,请教一下朋友们

  • 写回答

1条回答 默认 最新

  • 火花20180731 2023-12-18 09:35
    关注
    
    QScrollBar:vertical{
            max-width:8px;
            min-width:8px;
            min-height:8px;
            background:transparent;
            /*margin:0px,1px,0px,1px;*/
            padding-top:0px;
            padding-bottom:0px;
            border-radius:4px;
    }
    QScrollBar::handle:vertical {
            background: #3255a7;
            border-radius:4px;
    }
    QScrollBar::handle:vertical:hover {
            background:#00beff;
            border-radius:4px;
    }
    QScrollBar::add-page:vertical,
    QScrollBar::sub-page:vertical {
            background:transparent;
            border-radius:4px;
    }
    QScrollBar::add-line:vertical,
    QScrollBar::sub-line:vertical {
            height:0px;
            width:0px;
    }
    
    QScrollBar:horizontal{
            max-height:8px;
            min-height:8px;
            min-width:8px;
            background:transparent;
           /*margin:1px,0px,1px,0px;*/
            padding-left:0px;
            padding-right:0px;
            border-radius:4px;
    }
    QScrollBar::handle:horizontal {
            background: #3255a7;
            border-radius:4px;
    }
    QScrollBar::handle:horizontal:hover {
            background:#00beff;
            border-radius:4px;
    }
    QScrollBar::add-page:horizontal,
    QScrollBar::sub-page:horizontal {
            background:transparent;
            border-radius:4px;
    }
    QScrollBar::add-line:horizontal,
    QScrollBar::sub-line:horizontal {
            height:0px;
            width:0px;
    }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 12月18日