?鋒哥原創的PyQt6視頻教程:
2024版 PyQt6 Python桌面開發 視頻教程(無廢話版) 玩命更新中~_嗶哩嗶哩_bilibili2024版 PyQt6 Python桌面開發 視頻教程(無廢話版) 玩命更新中~共計39條視頻,包括:2024版 PyQt6 Python桌面開發 視頻教程(無廢話版) 玩命更新中~、第2講 PyQt6庫和工具庫QTDesigner安裝與配置、第3講 PyQt6第一個程序HelloWorld實現等,UP主更多精彩視頻,請關注UP賬號。https://www.bilibili.com/video/BV11C4y1P7fj/
CalendarWidget控件又稱為日歷控件,主要用來顯示和選擇日期。
QCalendarWidget類的常用方法:
方法 | 說明 |
---|---|
setSelectedDate() | 設置選中的日期,默認為當前日期 |
setMinimumDate() | 設置最小日期,默認為1752/9/14 |
setMaximumDate() | 設置最大日期,默認為9999/12/31 |
setFirstDayOfWeek() | 設置一周的第一天,取值如下。 Qt.Monday:星期一; Qt.Tuesday:星期二; Qt.Wednesday:星期三; Qt.Thursday:星期四; Qt.Friday:星期五; Qt.Saturday:星期六; Qt.Sunday:星期日 |
setGridVisible() | 設置是否顯示網格線 |
setSelectionMode() | 設置選擇模式,取值如下。 QCalendarWidget.NoSelection:不能選中日期 QCalendarWidget.SingleSelection:可以選中一個日期 |
setHorizontalHeaderFormat() | QCalendarWidget.LongDayNames:完整天的名稱,如“星期一” |
setVerticalHeaderFormat() | 設置對齊方式,有水平和垂直兩種,分別如下。 QCalendarWidget.NoVerticalHeader:不顯示垂直頭部; QCalendarWidget.IsOWeekNumbers:以星期數字顯示垂直頭部 |
setNavigationBarVisible() | 設置是否顯示導航欄 |
setDateEditEnabled() | 設置是否可以編輯日期 |
setDateEditAcceptDelay() | 設置編輯日期的最長間隔,默認為1500 |
selectedDate() | 獲取選擇的日期,返回值為QDate類型 |
UI生成代碼參考:
class Ui_Form(object):def setupUi(self, Form):Form.setObjectName("Form")Form.resize(592, 417)self.calendarWidget = QtWidgets.QCalendarWidget(parent=Form)self.calendarWidget.setGeometry(QtCore.QRect(80, 30, 401, 251))self.calendarWidget.setSelectedDate(QtCore.QDate(2023, 11, 27))self.calendarWidget.setFirstDayOfWeek(QtCore.Qt.DayOfWeek.Monday)self.calendarWidget.setGridVisible(True)self.calendarWidget.setSelectionMode(QtWidgets.QCalendarWidget.SelectionMode.SingleSelection)self.calendarWidget.setHorizontalHeaderFormat(QtWidgets.QCalendarWidget.HorizontalHeaderFormat.LongDayNames)self.calendarWidget.setVerticalHeaderFormat(QtWidgets.QCalendarWidget.VerticalHeaderFormat.ISOWeekNumbers)self.calendarWidget.setNavigationBarVisible(True)self.calendarWidget.setDateEditEnabled(False)self.calendarWidget.setObjectName("calendarWidget")self.retranslateUi(Form)QtCore.QMetaObject.connectSlotsByName(Form)def retranslateUi(self, Form):_translate = QtCore.QCoreApplication.translateForm.setWindowTitle(_translate("Form", "Form"))
Main測試代碼:
"""python加載ui文件作者 : 小鋒老師官網 : www.python222.com
"""
import sys
import timefrom PyQt6.QtGui import QValidator, QIntValidator, QIcon
from PyQt6.QtWidgets import QApplication, QLabel, QLineEdit, QTextEdit, QComboBox, QDateTimeEdit, QCalendarWidget
from PyQt6 import uic, QtGui, QtCoreif __name__ == '__main__':app = QApplication(sys.argv)ui = uic.loadUi("./QCalendarWidget日歷控件.ui")myCalendarWidget: QCalendarWidget = ui.calendarWidgetprint(myCalendarWidget.selectedDate().toString("yyyy-MM-dd"))ui.show()sys.exit(app.exec())