python - QDateEdit 对象没有属性“setText”
问题描述
我想创建一个日历,当我按下该日历中的日期时,它会被复制到某些字段。目前我试图只填充一个字段,我得到一个错误“QDateEdit 对象没有属性”setText“代码:
class Ui_DE(object):
def setupUi(self, DE):
DE.setObjectName("DE")
DE.resize(1149, 517)
font = QtGui.QFont()
font.setPointSize(10)
DE.setFont(font)
self.centralwidget = QtWidgets.QWidget(DE)
self.centralwidget.setObjectName("centralwidget")
self.calButton = QtWidgets.QPushButton(DE)
self.calButton.setIcon(QtGui.QIcon('calendar.png'))
self.calButton.setStyleSheet('border: 0px; padding: 0px;')
self.calButton.setCursor(QtCore.Qt.ArrowCursor)
self.calButton.clicked.connect(self.showCalWid)
self.calButton.setGeometry(QtCore.QRect(650, 50, 256, 183))
self.btnStart = QtWidgets.QPushButton(DE)
self.btnStart.setGeometry(QtCore.QRect(140, 60, 91, 21))
self.btnStart.setObjectName("Start")
self.GermanyBrowse = QtWidgets.QPushButton(DE)
self.GermanyBrowse.setGeometry(QtCore.QRect(240, 60, 91, 21))
self.GermanyBrowse.setObjectName("GermanyBrowse")
self.GermanyBrowse.clicked.connect(self.getfile_germany)
self.GermanyLabel = QtWidgets.QLabel(DE)
self.GermanyLabel.setGeometry(QtCore.QRect(150, 60, 71, 21))
self.GermanyLabel.setObjectName("GermanyLabel")
self.GermanyDate = QtWidgets.QDateEdit(DE)
self.GermanyDate.setGeometry(QtCore.QRect(370, 60, 110, 22))
self.GermanyDate.setObjectName("GermanyDate")
self.retranslateUi(DE)
def showCalWid(self):
self.calendar = QtWidgets.QCalendarWidget()
self.calendar.setMinimumDate(QtCore.QDate(1900, 1, 1))
self.calendar.setMaximumDate(QtCore.QDate(3000, 1, 1))
self.calendar.setGridVisible(True)
self.calendar.clicked.connect(self.updateDate)
self.calendar.setWindowFlags(QtCore.Qt.FramelessWindowHint)
self.calendar.setStyleSheet('background: white; color: black')
self.calendar.setGridVisible(True)
pos = QtGui.QCursor.pos()
self.calendar.setGeometry(pos.x(), pos.y(), 300, 200)
self.calendar.show()
def updateDate(self,*args):
getDate = self.calendar.selectedDate().toString()
self.GermanyDate.setText(getDate)
self.calendar.deleteLater()
def retranslateUi(self, DE):
_translate = QtCore.QCoreApplication.translate
DE.setWindowTitle(_translate("DE", "Dialog"))
self.GermanyBrowse.setText(_translate("DE", "Browse"))
我正在尝试将从日历中选择的日期复制到 self.GermanyDate
有什么想法我该怎么做?
解决方案
您必须传递 QDate,而不是字符串:
self.GermanyDate.setDate(self.calendar.selectedDate())
推荐阅读
- r - 计算数据框中满足多个条件的行数
- python - VS 代码设置为使用 python 2.7,如何将其更改为 3.8?
- python - 使用 Matplotlib 绘图
- bash - Git Pre-Commit Hook: Unable to Run `dartfmt` (command not found) (Windows)
- javascript - 结果,我在最后一个函数中的数字旁边得到了 NaN
- xamarin - 按钮问题 xamarin
- html - Bootstrap4:手风琴折叠不平滑
- google-cloud-platform - 如何使 Google Cloud Run 使用 IPv4 而不是 IPv6 来容器应用程序
- c++ - 如何将字符串(或任何类型)存储到 T 类型的数组中?
- android - android:gridview单元格水平对齐不均匀