python-3.x - 在 QDateEdit 小部件中更改日期
问题描述
当我按下按钮时如何更改 QDateEdit 中的日期。
我试过用 setDate.... 但没有用
def loadpac(self):
bazadate = cur.execute('SELECT * FROM caz')
for row in bazadate:
if row[0] == int(self.linenr.text()):
self.date.setDate(QtCore.QDate(int(row[1][6:]), int(row[1][3:5]), int(row[1][0:2])))
这不是代码只是解释行 [1] 是什么
行 [1] = 20.03.2019
解决方案
bazadate = [
# row[0] row[1] row[n]
[ 42, '23/02/2019', ... ], # <--- row
...
]
QtCore.QDate(int(row[1][6:]), int(row[1][3:5]), int(row[1][0:2]))
QtCore.QDate( 2019 , 2, 23)
试试看:
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
class MyForm(QtWidgets.QDialog):
def __init__(self):
super().__init__()
self.dateEdit = QtWidgets.QDateEdit(self)
self.dateEdit.setDateTime(QtCore.QDateTime(QtCore.QDate(2019, 2, 23),
QtCore.QTime(0, 0, 0)))
self.dateEdit.setDate(QtCore.QDate(2019, 2, 23))
self.dateEdit.setDisplayFormat("dd/MM/yyyy")
self.label = QtWidgets.QLabel()
self.label.setText("{}".format(self.dateEdit.dateTime().toString('dd-MM-yyyy')))
self.button = QtWidgets.QPushButton('Show selected date.')
self.button.clicked.connect(self.onClick)
layout = QtWidgets.QGridLayout(self)
layout.addWidget(self.label, 0, 0, 1, 2)
layout.addWidget(QtWidgets.QLabel("Select a date:"), 1, 0)
layout.addWidget(self.dateEdit, 1, 1)
layout.addWidget(self.button, 2, 0, 1, 2)
def onClick(self):
firstDayText = '{}-01-01'.format(self.dateEdit.dateTime().toString('yyyy'))
firstDay = QtCore.QDateTime.fromString(firstDayText, "yyyy-MM-dd")
numDay = firstDay.daysTo(self.dateEdit.dateTime())
self.label.setText("Selected date {}, {} days have passed since the beginning of the year"
"".format(self.dateEdit.dateTime().toString('dd-MM-yyyy'), numDay))
if __name__=="__main__":
app = QtWidgets.QApplication(sys.argv)
myapp = MyForm()
myapp.show()
sys.exit(app.exec_())
推荐阅读
- azure - 在流分析中关联事件
- django - 形成一个自定义小部件值,看起来像自定义日期
- python - 数据框附加日期时间数据并写入 .wac 文件
- android - 将数据从 Android 应用程序发送到 Lotus Notes 数据库
- c# - 不正确的字符串值:第 1 行的列 'DisplayName' 的 '\xD8\xA7\xD9\x84\xD8\xB9...'
- mongodb - 如何使用golang在mongodb中使用$lookup获取计数值?
- r - 加入 sparklyr 后过滤错误
- angular - Angular 5 组件不显示子路由
- c# - 是否可以将数据集列复制到网格列中
- wpf - WPF Datagridrow 根据选定的组合框项目更改背景颜色和复选框值