Мне нужна помощь в доступе к значению из функции userChosenDate()
в виджете OpenSelectDateTimeWindow
. Мне нужно, чтобы это значение было напечатано на объекте QLabel printCurrentDate
в моем главном окне после нажатия pushButtonConfirm
в моем дочернем виджете OpenSelectDateTimeWindow
. Мне удалось распечатать выбранную по умолчанию дату, выбранную из моего виджета календаря в дочернем виджете, но я не мог понять, как позволить тексту обновляться после выбора другой даты из моего дочернего виджета.
Интерфейсы для виджета и главного окна были сгенерированы из QtDesigner с незатронутыми кодами. Это следующие коды, которые я добавил для создания экземпляра пользовательского интерфейса.
Вот код для виджета:
class OpenSelectDateTimeWindow(QtWidgets.QWidget, Ui_SelectDateTime):
# initialise GUI and window
def __init__(self):
QtWidgets.QWidget.__init__(self)
self.setupUi(self)
# when Back button is clicked, window is closed
self.pushButtonBack.clicked.connect(self.close)
# when Confirm button is clicked, return day chosen by the user (print date, followed by day)
self.pushButtonConfirm.clicked.connect(self.userChosenDate)
self.pushButtonConfirm.clicked.connect(self.close)
# 2 functions to return selected date and time on the
# MainWindow UI / New Window UI where stall's information
# will be printed according to the user chosen date and time
# this function is to return user chosen date from the calendarWidget widget
def userChosenDate(self):
self.date = self.calendarWidget.selectedDate().toString("dd-MM-yyyy, dddd")
print(self.date) # for checking in terminal
return self.date
Это код моего главного окна.
class OpenMainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
QtWidgets.QMainWindow.__init__(self)
self.setupUi(self)
self.setDateAndTimeButton.clicked.connect(self.DateTimeWindow)
def DateTimeWindow(self):
self.SelectDateTimeWindow = OpenSelectDateTimeWindow()
# initialise GUI and window
self.SelectDateTimeWindow.show()
self.printCurrentDate.setText(self.SelectDateTimeWindow.userChosenDate())
################need help here###########################
#while self.SelectDateTimeWindow.pushButtonConfirm.clicked():
#dateString = self.SelectDateTimeWindow.userChosenDate()
#self.printCurrentDate.setText(dateString)