用Qdateedit做日期筛选,让结束日期不得大于起始日期
时间: 2024-05-13 15:17:32 浏览: 16
可以通过以下步骤实现:
1. 获取起始日期和结束日期的QDateEdit对象。
2. 在结束日期的QDateEdit对象上连接信号dateChanged(),并在槽函数中检查结束日期是否大于起始日期。
3. 如果结束日期大于起始日期,则将结束日期设置为起始日期。
以下是示例代码:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QDateEdit, QHBoxLayout
from PyQt5.QtCore import QDate
class DateSelector(QWidget):
def __init__(self):
super().__init__()
self.start_date_edit = QDateEdit(self)
self.end_date_edit = QDateEdit(self)
layout = QHBoxLayout()
layout.addWidget(self.start_date_edit)
layout.addWidget(self.end_date_edit)
self.setLayout(layout)
self.start_date_edit.setDate(QDate.currentDate())
self.end_date_edit.setDate(QDate.currentDate())
self.end_date_edit.dateChanged.connect(self.check_date_range)
def check_date_range(self):
if self.end_date_edit.date() < self.start_date_edit.date():
self.end_date_edit.setDate(self.start_date_edit.date())
if __name__ == '__main__':
app = QApplication([])
window = DateSelector()
window.show()
app.exec_()
```
在此示例中,我们创建了一个QWidget,并在其中放置了两个QDateEdit对象。我们将起始日期和结束日期都设置为当前日期,并在结束日期的dateChanged()信号上连接了check_date_range()槽函数。此槽函数检查结束日期是否大于起始日期,如果是,则将结束日期设置为起始日期。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)