我想把p.drawText (r.x () + 10, r.y () + 33, '{} / {}'. Format ('tset1', 'test2')
条件的文本放在所选的QCalendarWidget
日期上。但这并不好。你知道吗
import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
class main_window(QWidget):
def __init__(self):
super(main_window, self).__init__()
self.resize(1280, 900)
self.Calendar()
def Calendar(self):
self.cal = QCalendarWidget(self)
self.cal.resize(500, 500)
self.cal.clicked.connect(self.Calendar_click)
def Calendar_click(self):
p = QPainter()
r = QRect(0,0,10,10)
d = self.cal.selectedDate()
self.cal.paintCell(p, r, d)
if (d == QDate.currentDate()):
f = QFont()
f.setPixelSize(10)
f.setBold(True)
f.setItalic(True)
p.setFont(f)
p.drawText(r.x()+10, r.y()+33, '{}/{}'.format('tset1','test2'))
if __name__ == '__main__':
app = QApplication(sys.argv)
main = main_window()
main.show()
我试过很多次了,但还是不知道如何在选定的日期上加上小文字。你知道吗
必须覆盖
paintCell()
方法,因为此方法在paintEvent()中调用:更新:
如果要保留文本,则必须保存日期并在必要时重新绘制,因为Qt会重新绘制所有内容
相关问题 更多 >
编程相关推荐