📅  最后修改于: 2023-12-03 14:45:47.241000             🧑  作者: Mango
当我们使用 PyQt5 中的 QCalendarWidget 部件时,往往会发现每一个日期都被遮盖了一层“面具”,有时候并不太适用于我们的需求。本文将介绍如何去除这个“面具”。
我们可以通过设置 QCalendarWidget 的 stylesheet 来去除面具。
calendar.setStyleSheet("QCalendarWidget QAbstractItemView \
{selection-background-color: palette(highlight); selection-color: palette(highlighted-text);}")
这里的 palette(highlight)
可以更改为你想要的颜色。
下面是一个完整的例子:
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
import sys
class Window(QMainWindow):
def __init__(self):
super().__init__()
# creating a QCalendarWidget object
calendar = QCalendarWidget(self)
# removing the mask
calendar.setStyleSheet("QCalendarWidget QAbstractItemView \
{selection-background-color: palette(highlight); selection-color: palette(highlighted-text);}")
# setting cursor shape
calendar.setCursor(Qt.PointingHandCursor)
# setting border to the calendar
calendar.setContentsMargins(0, 0, 0, 0)
calendar.setFrameShape(QFrame.NoFrame)
# setting calendar to the main window
self.setCentralWidget(calendar)
# setting window title
self.setWindowTitle("PyQt5 QCalendarWidget")
# setting window geometry
self.setGeometry(100, 100, 400, 300)
# showing the window
self.show()
# create pyqt5 app
App = QApplication(sys.argv)
# create the instance of our Window
window = Window()
# start the app
sys.exit(App.exec())
输出:
这里,我们通过使用 selection-background-color
和 selection-color
属性,去除了 QCalendarWidget 的面具。
希望通过本文,您能够更全面的了解如何去除 PyQt5 中 QCalendarWidget 的面具。