问题描述
我正在尝试为 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_())