python - 如何在 QDateEdit 弹出 QCalendarWidget 中添加今天按钮
问题描述
今天按钮是这样的
我的弹出日历小部件的图像:
我正在尝试使用 Python 中的 PyQt5 和日期选择器选项创建简单的 Gui。我需要在弹出的 QCalendarWidget 中的 QDateEdit 中添加今天按钮。
解决方案
您必须通过布局将按钮添加到 QCalendarWidget,并在按下按钮时将 QDate::currentDate() 设置为 QCalendarWidget 的 selectedDate:
import sys
from PyQt5 import QtCore, QtWidgets
class DateEdit(QtWidgets.QDateEdit):
def __init__(self, parent=None):
super().__init__(parent, calendarPopup=True)
self._today_button = QtWidgets.QPushButton(self.tr("Today"))
self._today_button.clicked.connect(self._update_today)
self.calendarWidget().layout().addWidget(self._today_button)
@QtCore.pyqtSlot()
def _update_today(self):
self._today_button.clearFocus()
today = QtCore.QDate.currentDate()
self.calendarWidget().setSelectedDate(today)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
w = DateEdit()
w.show()
sys.exit(app.exec_())
推荐阅读
- asp.net - 程序 [#####] iexplore.exe' 已退出,代码为 -########## 程序 '[#####] iisexpress.exe' 已退出,代码为 0 (0x0)
- javascript - Reactjs 上的玩笑,用于使用参考函数模拟点击
- amazon-web-services - 使用导入 PySpark 在 Jupiter Notebook 中回调错误
- android - 如何使用 Connect API 将 Android Release APK 文件上传到华为 AppGallery?
- html - 如何使用 selenium python 访问网页源中的特定文本?
- python-3.x - Pandas 不会写入所有结果,它会覆盖并仅给出最后一个结果
- powerbi - 是否可以在 power-bi 中创建类似于我所附图片的矩阵可视化?
- c# - 尝试/捕获:将捕获移动到单独的功能?
- python - 为什么我的程序在本地运行,而不是在虚拟环境中运行?
- python - 使用 numpy 输出图像中每种颜色的像素数