class Ui_StatisticForm(QWidget): def __init__(self, parent): super(Ui_StatisticForm, self).__init__(parent) self.parent = parent self.setWindowFlags(Qt.WindowStaysOnTopHint | Qt.Window) self.setupUi(self) self.show() def setupUi(self, StatisticForm): StatisticForm.setObjectName("StatisticForm") StatisticForm.setFixedSize(725, 575) self.graphicsView = PlotWidget(StatisticForm) self.graphicsView.setGeometry(QtCore.QRect(35, 10, 680, 480)) self.graphicsView.setObjectName("graphicsView") self.ResetStatistic_pushButton = QtWidgets.QPushButton(StatisticForm) self.ResetStatistic_pushButton.setGeometry( QtCore.QRect(535, 510, 180, 25)) self.ResetStatistic_pushButton.setObjectName( "ResetStatistic_pushButton") self.retranslateUi(StatisticForm) QtCore.QMetaObject.connectSlotsByName(StatisticForm) self.ResetStatistic_pushButton.clicked.connect(self.reset_statistic) con = sqlite3.connect(self.parent.DataBaseName) cur = con.cursor() all_results = cur.execute( 'select all_results from players where id = ?', (self.parent.currentPlayer, )).fetchone()[0].split(' ') con.commit() con.close() all_results = list(map(lambda x: int(x), all_results)) self.graphicsView.plot([i for i in range(1, len(all_results) + 1)], all_results) def paintEvent(self, event): qp = QtGui.QPainter(self) Font = qp.font() Font.setPointSize(Font.pointSize() * 2) qp.setFont(Font) qp.setPen(QtCore.Qt.black) qp.translate(25, 475) qp.rotate(-90) qp.drawText(-10, 0, "Результат") qp.rotate(90) qp.drawText(25, 35, "Номер игры") qp.end() def reset_statistic(self): valid = QtWidgets.QMessageBox.question( self, 'Внимание', "Действительно сбросить статистику?", QtWidgets.QMessageBox.Yes, QtWidgets.QMessageBox.No) if valid == QtWidgets.QMessageBox.Yes: con = sqlite3.connect(self.parent.DataBaseName) cur = con.cursor() cur.execute('update players set all_results = "" where id = ?', (self.parent.currentPlayer, )) cur.execute('update players set best_result = 0 where id = ?', (self.parent.currentPlayer, )) con.commit() con.close() self.graphicsView.plot([0], [0]) self.graphicsView.clear() self.graphicsView.scale(1.0, 1.0) self.parent.load_leaders_board() self.parent.BestScore_LineEdit.setText('0') self.setFocusPolicy(QtCore.Qt.StrongFocus) def retranslateUi(self, StatisticForm): _translate = QtCore.QCoreApplication.translate StatisticForm.setWindowTitle(_translate("StatisticForm", "Статистика")) self.ResetStatistic_pushButton.setText( _translate("StatisticForm", "Сбросить статистику"))