Не срабатывает обработчик нажатия на кнопку, Python, PyQt5
Делаю приложение на PyQt 5 и появлась проблема. У меня есть два окна, собственно два класса в коде: App и ReportWindow. Проблема возникла с методом pdf_build класса ReportWindow. В теории при нажатии на кнопку graphics_pdf_btn в консоль должно выводиться "Ok!", в моём же случае ничего не происходит. Подскажите, в чём может быть проблема?
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5 import uic
import reportBuilder
import my_func_modul as myf
class App(QWidget):
def __init__(self):
self.start()
self.report()
def start(self):
self.ui = uic.loadUi("settings.ui")
self.ui.show()
def report(self):
self.ui.report_button.clicked.connect(lambda: self.test())
def test(self):
date = self.ui.dateChoose.date()
day = date.day(); month = date.month(); year = date.year()
day_str = myf.date_transform(day, month, year)
method_index = self.ui.boxOfMethods.currentIndex()
method_text = self.ui.boxOfMethods.currentText()
result = reportBuilder.report_builder_to_pdf(method=method_index)
self.open_report_window(day_str, result)
def open_report_window(self, day_of_report, result):
self.report_window = ReportWindow(day_of_report, result)
self.report_window.start()
class ReportWindow(QWidget):
def __init__(self, day, result):
self.day_of_report = day
self.result = result
self.start()
self.pdf_build()
def start(self):
self.ui = uic.loadUi("report.ui")
self.ui.show()
self.ui.day_of_report.setText(f"Отчёт за {self.day_of_report}")
def pdf_build(self):
self.ui.graphics_pdf_btn.clicked.connect(self.graphs_pdf_build)
def graphs_pdf_build(self):
print("Ok!")
if __name__== '__main__':
app = QApplication(sys.argv)
main = App()
app.exec_()