我正在使用PyQt5库在Python中编写一个小型应用程序。
你需要什么:
在小部件中
QLabel
或QTextEdit
(不重要)您需要显示n
从小部件中所选日期减去天数的日期QCalendarWidget
。
我试图理解图书馆的描述,但我不能。
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(1103, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.calendarWidget = QtWidgets.QCalendarWidget(self.centralwidget)
self.calendarWidget.setGeometry(QtCore.QRect(0, 30, 561, 541))
self.calendarWidget.setGridVisible(True)
self.calendarWidget.setSelectionMode(QtWidgets.QCalendarWidget.SingleSelection)
self.calendarWidget.setHorizontalHeaderFormat(QtWidgets.QCalendarWidget.ShortDayNames)
self.calendarWidget.setVerticalHeaderFormat(QtWidgets.QCalendarWidget.NoVerticalHeader)
self.calendarWidget.setObjectName("calendarWidget")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(590, 30, 451, 121))
self.label.setObjectName("label")
self.textEdit = QtWidgets.QTextEdit(self.centralwidget)
self.textEdit.setGeometry(QtCore.QRect(640, 180, 221, 71))
self.textEdit.setObjectName("textEdit")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 1103, 21))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
self.calendarWidget.clicked['QDate'].connect(self.label.setObjectName(???)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
在这行代码中:
self.calendarWidget.clicked['QDate'].connect(self.label.setObjectName(???)
你需要写一些东西让它工作。
或者,也许我基本上选择了错误的路径,而我的设想更容易实现?
不要更改生成的代码
Qt Designer
。创建另一个从相应小部件继承的类,并使用生成的类来填充它。为简单起见,我将 QWidget 作为父级: