如何解决ScrollBar QStyleSheet 在它应该是透明的时候显示有背景
我正在尝试为 QtTableWidget 的滚动条设置样式,以便“滚动部分”不在栏上的部分是透明的,因此滚动条将具有背景和滚动部分的颜色(您所在的位置)把你的鼠标)是唯一与背景颜色不同的部分。
我尝试将其作为样式表:
QTableWidget {
background-color:rgb(57,57,57);
color:rgb(255,255,255);
border-radius:3px;
}
QScrollBar:vertical {
border: none;
background: rgb(45,45,68);
width: 14px;
margin: 15px 0 15px 0;
border-radius: 0px;
}
/* HANDLE BAR VERTICAL */
QScrollBar::handle:vertical {
background-color: rgb(80,80,122);
min-height: 30px;
border-radius: 7px;
}
但是当显示窗口时,我想要透明的部分填充了像这样的白色耕种背景:
我不确定是什么导致了我的样式表中出现此问题。
这是重现窗口的代码:
from PySide2.QtCore import (QCoreApplication,QMetaObject,QObject,QPoint,QRect,QSize,QUrl,Qt)
from PySide2.QtGui import (QBrush,QColor,QConicalGradient,QCursor,QFont,QFontDatabase,QIcon,QLinearGradient,QPalette,QPainter,QPixmap,QRadialGradient)
from PySide2.QtWidgets import *
class Ui_MainWindow(object):
def setupUi(self,MainWindow):
if MainWindow.objectName():
MainWindow.setObjectName(u"MainWindow")
MainWindow.resize(800,600)
self.centralwidget = QWidget(MainWindow)
self.centralwidget.setObjectName(u"centralwidget")
self.tableWidget = QTableWidget(self.centralwidget)
if (self.tableWidget.rowCount() < 100):
self.tableWidget.setRowCount(100)
self.tableWidget.setObjectName(u"tableWidget")
self.tableWidget.setGeometry(QRect(30,30,721,461))
self.tableWidget.setStyleSheet(u"QTableWidget {\n"
" background-color:rgb(57,57);\n"
" color:rgb(255,255);\n"
" border-radius:3px;\n"
"}\n"
"\n"
"QScrollBar:vertical {\n"
" border: none;\n"
" background: rgb(45,68);\n"
" width: 14px;\n"
" margin: 15px 0 15px 0;\n"
" border-radius: 0px;\n"
" }\n"
"\n"
"/* HANDLE BAR VERTICAL */\n"
"QScrollBar::handle:vertical { \n"
" background-color: rgb(80,122);\n"
" min-height: 30px;\n"
" border-radius: 7px;\n"
"}\n"
"QScrollBar::handle:vertical:hover{ \n"
" background-color: rgb(255,127);\n"
"}\n"
"QScrollBar::handle:vertical:pressed { \n"
" background-color: rgb(185,92);\n"
"}")
self.tableWidget.setRowCount(100)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QMenuBar(MainWindow)
self.menubar.setObjectName(u"menubar")
self.menubar.setGeometry(QRect(0,800,26))
MainWindow.setMenuBar(self.menubar)
self.statusbar = QStatusBar(MainWindow)
self.statusbar.setObjectName(u"statusbar")
MainWindow.setStatusBar(self.statusbar)
QMetaObject.connectSlotsByName(MainWindow)
class MainWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
import sys
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。