Программа то работает, то нет

Не могу понять почему при запуске watches.py программа то работает, то нет.

watches.py

from PyQt5.QtWidgets import QApplication, QWidget

from PyQt5.QtCore import QTime, QTimer
from PyQt5 import QtCore, uic
import sys
from ui_watches import Ui_Form, Error, Ui_DialogForm, l


class Watches(QWidget, Ui_Form):
    def __init__(self):
        global dialog, error, labels
        super().__init__()
        self.setupUi(self)
        self.pushButton_pF.clicked.connect(self.showDialog)

    def showTime(self):
        time = QTime.currentTime()
        text = time.toString('hh:mm')
        if (time.second() % 2) == 0:
            text = text[:2] + ' ' + text[3:]
            self.labelF.setText(str(l[0]))
            self.label_2F.setText(str(l[1]))
            self.label_3F.setText(str(l[2]))
            self.label_4F.setText(str(l[3]))
            self.label_5F.setText(str(l[4]))
            self.label_6F.setText(str(l[5]))
            self.label_7F.setText(str(l[6]))
            self.label_8F.setText(str(l[7]))
            self.label_9F.setText(str(l[8]))
            self.label_10F.setText(str(l[9]))
            if l[0]:
                self.labelF.setVisible(True)
                self.checkBoxF.setVisible(True)
                self.pushButtonF.setVisible(True)
            if l[1]:
                self.label_2F.setVisible(True)
                self.checkBox_2F.setVisible(True)
                self.pushButton_2F.setVisible(True)
            if l[2]:
                self.label_3F.setVisible(True)
                self.checkBox_3F.setVisible(True)
                self.pushButton_3F.setVisible(True)
            if l[3]:
                self.label_4F.setVisible(True)
                self.checkBox_4F.setVisible(True)
                self.pushButton_4F.setVisible(True)
            if l[4]:
                self.label_5F.setVisible(True)
                self.checkBox_5F.setVisible(True)
                self.pushButton_5F.setVisible(True)
            if l[5]:
                self.label_6F.setVisible(True)
                self.checkBox_6F.setVisible(True)
                self.pushButton_6F.setVisible(True)
            if l[6]:
                self.label_7F.setVisible(True)
                self.checkBox_7F.setVisible(True)
                self.pushButton_7F.setVisible(True)
            if l[7]:
                self.label_8F.setVisible(True)
                self.checkBox_8F.setVisible(True)
                self.pushButton_8F.setVisible(True)
            if l[8]:
                self.label_9F.setVisible(True)
                self.checkBox_9F.setVisible(True)
                self.pushButton_9F.setVisible(True)
            if l[9]:
                self.label_10F.setVisible(True)
                self.checkBox_10F.setVisible(True)
                self.pushButton_10F.setVisible(True)
        self.lcdNumberF.display(text)

    def showDialog(self):
        global l, dialog, error
        if l.count(False) == 0:
            error = Error()
            error.show()
        else:
            dialog = Ui_DialogForm()
            dialog.show()


def exept_hook(cls, exception, traceback):
    sys.__excepthook__(cls, exception, traceback)


if __name__ == '__main__':
    sys.exepthook = exept_hook
    app = QApplication(sys.argv)
    wtch = Watches()
    wtch.show()
    sys.exit(app.exec_())
 

ui_watches.py

# -*- coding: utf-8 -*-



from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QWidget
from PyQt5.QtCore import QTime, QTimer
import sys

l = [False] * 10


class Ui_Form(object):
    def __init__(self):
        super(Ui_Form, self).__init__()
        self.setWindowTitle('Alarm')

    def setupUi(self, FormF):
        FormF.setObjectName("FormF")
        FormF.resize(264, 402)
        self.gridLayoutF = QtWidgets.QGridLayout(FormF)
        self.gridLayoutF.setObjectName("gridLayoutF")
        self.lcdNumberF = QtWidgets.QLCDNumber(FormF)
        self.lcdNumberF.setObjectName("lcdNumberF")
        self.gridLayoutF.addWidget(self.lcdNumberF, 0, 1, 1, 2)
        self.timer = QTimer(self)
        self.timer.timeout.connect(self.showTime)
        self.timer.start(1000)
        self.showTime()
        self.pushButton_pF = QtWidgets.QPushButton(FormF)
        self.pushButton_pF.setObjectName("pushButton_pF")
        self.gridLayoutF.addWidget(self.pushButton_pF, 7, 1, 1, 2)
        self.lineF = QtWidgets.QFrame(FormF)
        self.lineF.setFrameShape(QtWidgets.QFrame.HLine)
        self.lineF.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.lineF.setObjectName("lineF")
        self.gridLayoutF.addWidget(self.lineF, 1, 1, 1, 1)
        self.scrollAreaF = QtWidgets.QScrollArea(FormF)
        self.scrollAreaF.setWidgetResizable(True)
        self.scrollAreaF.setObjectName("scrollAreaF")
        self.scrollAreaWidgetContentsF = QtWidgets.QWidget()
        self.scrollAreaWidgetContentsF.setGeometry(QtCore.QRect(0, 0, 221, 492))
        self.scrollAreaWidgetContentsF.setObjectName("scrollAreaWidgetContentsF")
        self.formLayoutF = QtWidgets.QFormLayout(self.scrollAreaWidgetContentsF)
        self.formLayoutF.setObjectName("formLayoutF")
        self.checkBoxF = QtWidgets.QCheckBox(self.scrollAreaWidgetContentsF)
        self.checkBoxF.setText("")
        self.checkBoxF.setObjectName("checkBoxF")
        self.formLayoutF.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.checkBoxF)
        self.labelF = QtWidgets.QLabel(self.scrollAreaWidgetContentsF)
        self.labelF.setObjectName("labelF")
        self.formLayoutF.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.labelF)
        self.pushButtonF = QtWidgets.QPushButton(self.scrollAreaWidgetContentsF)
        self.pushButtonF.setObjectName("pushButtonF")
        self.formLayoutF.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.pushButtonF)
        self.labelF.setVisible(False)
        self.checkBoxF.setVisible(False)
        self.pushButtonF.setVisible(False)
        self.checkBox_2F = QtWidgets.QCheckBox(self.scrollAreaWidgetContentsF)
        self.checkBox_2F.setText("")
        self.checkBox_2F.setObjectName("checkBox_2F")
        self.formLayoutF.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.checkBox_2F)
        self.label_2F = QtWidgets.QLabel(self.scrollAreaWidgetContentsF)
        self.label_2F.setObjectName("label_2F")
        self.formLayoutF.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.label_2F)
        self.pushButton_2F = QtWidgets.QPushButton(self.scrollAreaWidgetContentsF)
        self.pushButton_2F.setObjectName("pushButton_2F")
        self.formLayoutF.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.pushButton_2F)
        self.label_2F.setVisible(False)
        self.checkBox_2F.setVisible(False)
        self.pushButton_2F.setVisible(False)
        self.checkBox_3F = QtWidgets.QCheckBox(self.scrollAreaWidgetContentsF)
        self.checkBox_3F.setText("")
        self.checkBox_3F.setObjectName("checkBox_2F")
        self.formLayoutF.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.checkBox_3F)
        self.label_3F = QtWidgets.QLabel(self.scrollAreaWidgetContentsF)
        self.label_3F.setObjectName("label_3F")
        self.formLayoutF.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.label_3F)
        self.pushButton_3F = QtWidgets.QPushButton(self.scrollAreaWidgetContentsF)
        self.pushButton_3F.setObjectName("pushButton_3F")
        self.formLayoutF.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.pushButton_3F)
        self.label_3F.setVisible(False)
        self.checkBox_3F.setVisible(False)
        self.pushButton_3F.setVisible(False)
        self.checkBox_4F = QtWidgets.QCheckBox(self.scrollAreaWidgetContentsF)
        self.checkBox_4F.setText("")
        self.checkBox_4F.setObjectName("checkBox_4F")
        self.formLayoutF.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.checkBox_4F)
        self.label_4F = QtWidgets.QLabel(self.scrollAreaWidgetContentsF)
        self.label_4F.setObjectName("label_4F")
        self.formLayoutF.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.label_4F)
        self.pushButton_4F = QtWidgets.QPushButton(self.scrollAreaWidgetContentsF)
        self.pushButton_4F.setObjectName("pushButton_4F")
        self.formLayoutF.setWidget(7, QtWidgets.QFormLayout.FieldRole, self.pushButton_4F)
        self.label_4F.setVisible(False)
        self.checkBox_4F.setVisible(False)
        self.pushButton_4F.setVisible(False)
        self.checkBox_5F = QtWidgets.QCheckBox(self.scrollAreaWidgetContentsF)
        self.checkBox_5F.setText("")
        self.checkBox_5F.setObjectName("checkBox_5F")
        self.formLayoutF.setWidget(8, QtWidgets.QFormLayout.LabelRole, self.checkBox_5F)
        self.label_5F = QtWidgets.QLabel(self.scrollAreaWidgetContentsF)
        self.label_5F.setObjectName("label_5F")
        self.formLayoutF.setWidget(8, QtWidgets.QFormLayout.FieldRole, self.label_5F)
        self.pushButton_5F = QtWidgets.QPushButton(self.scrollAreaWidgetContentsF)
        self.pushButton_5F.setObjectName("pushButton_5F")
        self.formLayoutF.setWidget(9, QtWidgets.QFormLayout.FieldRole, self.pushButton_5F)
        self.label_5F.setVisible(False)
        self.checkBox_5F.setVisible(False)
        self.pushButton_5F.setVisible(False)
        self.checkBox_6F = QtWidgets.QCheckBox(self.scrollAreaWidgetContentsF)
        self.checkBox_6F.setText("")
        self.checkBox_6F.setObjectName("checkBox_6F")
        self.formLayoutF.setWidget(10, QtWidgets.QFormLayout.LabelRole, self.checkBox_6F)
        self.label_6F = QtWidgets.QLabel(self.scrollAreaWidgetContentsF)
        self.label_6F.setObjectName("label_6F")
        self.formLayoutF.setWidget(10, QtWidgets.QFormLayout.FieldRole, self.label_6F)
        self.pushButton_6F = QtWidgets.QPushButton(self.scrollAreaWidgetContentsF)
        self.pushButton_6F.setObjectName("pushButton_6F")
        self.formLayoutF.setWidget(11, QtWidgets.QFormLayout.FieldRole, self.pushButton_6F)
        self.label_6F.setVisible(False)
        self.checkBox_6F.setVisible(False)
        self.pushButton_6F.setVisible(False)
        self.checkBox_7F = QtWidgets.QCheckBox(self.scrollAreaWidgetContentsF)
        self.checkBox_7F.setText("")
        self.checkBox_7F.setObjectName("checkBox_7F")
        self.formLayoutF.setWidget(12, QtWidgets.QFormLayout.LabelRole, self.checkBox_7F)
        self.label_7F = QtWidgets.QLabel(self.scrollAreaWidgetContentsF)
        self.label_7F.setObjectName("label_7F")
        self.formLayoutF.setWidget(12, QtWidgets.QFormLayout.FieldRole, self.label_7F)
        self.pushButton_7F = QtWidgets.QPushButton(self.scrollAreaWidgetContentsF)
        self.pushButton_7F.setObjectName("pushButton_7F")
        self.formLayoutF.setWidget(13, QtWidgets.QFormLayout.FieldRole, self.pushButton_7F)
        self.label_7F.setVisible(False)
        self.checkBox_7F.setVisible(False)
        self.pushButton_7F.setVisible(False)
        self.checkBox_8F = QtWidgets.QCheckBox(self.scrollAreaWidgetContentsF)
        self.checkBox_8F.setText("")
        self.checkBox_8F.setObjectName("checkBox_8F")
        self.formLayoutF.setWidget(14, QtWidgets.QFormLayout.LabelRole, self.checkBox_8F)
        self.label_8F = QtWidgets.QLabel(self.scrollAreaWidgetContentsF)
        self.label_8F.setObjectName("label_8F")
        self.formLayoutF.setWidget(14, QtWidgets.QFormLayout.FieldRole, self.label_8F)
        self.pushButton_8F = QtWidgets.QPushButton(self.scrollAreaWidgetContentsF)
        self.pushButton_8F.setObjectName("pushButton_8F")
        self.formLayoutF.setWidget(15, QtWidgets.QFormLayout.FieldRole, self.pushButton_8F)
        self.label_8F.setVisible(False)
        self.checkBox_8F.setVisible(False)
        self.pushButton_8F.setVisible(False)
        self.checkBox_9F = QtWidgets.QCheckBox(self.scrollAreaWidgetContentsF)
        self.checkBox_9F.setText("")
        self.checkBox_9F.setObjectName("checkBox_9F")
        self.formLayoutF.setWidget(16, QtWidgets.QFormLayout.LabelRole, self.checkBox_9F)
        self.label_9F = QtWidgets.QLabel(self.scrollAreaWidgetContentsF)
        self.label_9F.setObjectName("label_9F")
        self.formLayoutF.setWidget(16, QtWidgets.QFormLayout.FieldRole, self.label_9F)
        self.pushButton_9F = QtWidgets.QPushButton(self.scrollAreaWidgetContentsF)
        self.pushButton_9F.setObjectName("pushButton_9F")
        self.formLayoutF.setWidget(17, QtWidgets.QFormLayout.FieldRole, self.pushButton_9F)
        self.label_9F.setVisible(False)
        self.checkBox_9F.setVisible(False)
        self.pushButton_9F.setVisible(False)
        self.checkBox_10F = QtWidgets.QCheckBox(self.scrollAreaWidgetContentsF)
        self.checkBox_10F.setText("")
        self.checkBox_10F.setObjectName("checkBox_10F")
        self.formLayoutF.setWidget(18, QtWidgets.QFormLayout.LabelRole, self.checkBox_10F)
        self.label_10F = QtWidgets.QLabel(self.scrollAreaWidgetContentsF)
        self.label_10F.setObjectName("label_10F")
        self.formLayoutF.setWidget(18, QtWidgets.QFormLayout.FieldRole, self.label_10F)
        self.pushButton_10F = QtWidgets.QPushButton(self.scrollAreaWidgetContentsF)
        self.pushButton_10F.setObjectName("pushButton_10F")
        self.formLayoutF.setWidget(19, QtWidgets.QFormLayout.FieldRole, self.pushButton_10F)
        self.label_10F.setVisible(False)
        self.checkBox_10F.setVisible(False)
        self.pushButton_10F.setVisible(False)
        self.scrollAreaF.setWidget(self.scrollAreaWidgetContentsF)
        self.gridLayoutF.addWidget(self.scrollAreaF, 2, 1, 1, 1)

        self.retranslateUi(FormF)
        QtCore.QMetaObject.connectSlotsByName(FormF)

    def retranslateUi(self, FormF):
        _translate = QtCore.QCoreApplication.translate
        FormF.setWindowTitle(_translate("FormF", "Alarm"))
        self.pushButton_pF.setText(_translate("FormF", "+"))
        self.pushButtonF.setText(_translate("FormF", "Delate"))
        self.labelF.setText(_translate("FormF", "TextLabel"))
        self.pushButton_2F.setText(_translate("FormF", "Delate"))
        self.label_2F.setText(_translate("FormF", "TextLabel"))
        self.pushButton_3F.setText(_translate("FormF", "Delate"))
        self.label_3F.setText(_translate("FormF", "TextLabel"))
        self.pushButton_4F.setText(_translate("FormF", "Delate"))
        self.label_4F.setText(_translate("FormF", "TextLabel"))
        self.pushButton_5F.setText(_translate("FormF", "Delate"))
        self.label_5F.setText(_translate("FormF", "TextLabel"))
        self.pushButton_6F.setText(_translate("FormF", "Delate"))
        self.label_6F.setText(_translate("FormF", "TextLabel"))
        self.pushButton_7F.setText(_translate("FormF", "Dekate"))
        self.label_7F.setText(_translate("Form", "TextLabel"))
        self.pushButton_8F.setText(_translate("FormF", "Delate"))
        self.label_8F.setText(_translate("FormF", "TextLabel"))
        self.pushButton_9F.setText(_translate("FormF", "Delate"))
        self.label_9F.setText(_translate("FormF", "TextLabel"))
        self.pushButton_10F.setText(_translate("FormF", "Delate"))
        self.label_10F.setText(_translate("FormF", "TextLabel"))


class Ui_DialogForm(QWidget):
    def __init__(self):
        super(Ui_DialogForm, self).__init__()
        self.setupUi(self)
        self.setWindowTitle('Alarm Editor')

    def setupUi(self, DialogForm):
        DialogForm.setObjectName("DialogForm")
        DialogForm.resize(263, 135)
        self.gridLayoutD = QtWidgets.QGridLayout(DialogForm)
        self.gridLayoutD.setObjectName("gridLayoutD")
        self.label_4D = QtWidgets.QLabel(DialogForm)
        self.label_4D.setObjectName("label_4D")
        self.gridLayoutD.addWidget(self.label_4D, 4, 0, 1, 1)
        self.label_2D = QtWidgets.QLabel(DialogForm)
        self.label_2D.setObjectName("label_2D")
        self.gridLayoutD.addWidget(self.label_2D, 1, 0, 1, 1)
        self.label_3D = QtWidgets.QLabel(DialogForm)
        self.label_3D.setObjectName("label_3D")
        self.gridLayoutD.addWidget(self.label_3D, 2, 0, 1, 1)
        self.labelD = QtWidgets.QLabel(DialogForm)
        self.labelD.setObjectName("labelD")
        self.gridLayoutD.addWidget(self.labelD, 0, 0, 1, 1)
        self.lineEditD = QtWidgets.QLineEdit(DialogForm)
        self.lineEditD.setObjectName("lineEditD")
        self.gridLayoutD.addWidget(self.lineEditD, 1, 2, 1, 1)
        self.timeEditD = QtWidgets.QTimeEdit(DialogForm)
        self.timeEditD.setObjectName("timeEditD")
        self.gridLayoutD.addWidget(self.timeEditD, 2, 2, 1, 1)
        self.buttonBoxD = QtWidgets.QDialogButtonBox(DialogForm)
        self.buttonBoxD.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel | QtWidgets.QDialogButtonBox.Ok)
        self.buttonBoxD.setObjectName("buttonBoxD")
        self.gridLayoutD.addWidget(self.buttonBoxD, 0, 2, 1, 1)
        self.label_5D = QtWidgets.QLabel(DialogForm)
        self.label_5D.setObjectName("label_5D")
        self.gridLayoutD.addWidget(self.label_5D, 4, 2, 1, 1)
        self.pushButtonD = QtWidgets.QPushButton(DialogForm)
        self.pushButtonD.setObjectName("pushButtonD")
        self.gridLayoutD.addWidget(self.pushButtonD, 5, 2, 1, 1)

        self.buttonBoxD.accepted.connect(self.accept)
        self.buttonBoxD.rejected.connect(self.reject)

        self.retranslateUi(DialogForm)
        QtCore.QMetaObject.connectSlotsByName(DialogForm)

    def retranslateUi(self, DialogForm):
        _translate = QtCore.QCoreApplication.translate
        self.label_4D.setText(_translate("DialogForm", "Melody:"))
        self.label_2D.setText(_translate("DialogForm", "Name:"))
        self.label_3D.setText(_translate("DialogForm", "Time:"))
        self.labelD.setText(_translate("DialogForm", "Save your alarm?"))
        self.label_5D.setText(_translate("DialogForm", "by default (wakey-wakey)"))
        self.pushButtonD.setText(_translate("DialogForm", "Choose File"))

    def accept(self):
        global l
        name = self.lineEditD.text()
        time = self.timeEditD.text()
        text = name + ' ' + time
        melody = self.label_5D.text()
        l[l.index(False)] = text
        self.close()

    def reject(self):
        self.close()


class Error(QWidget):
    def __init__(self):
        super(Error, self).__init__()
        self.setupUi(self)
        self.setWindowTitle('Error')

    def setupUi(self, eRRor):
        eRRor.setObjectName("eRRor")
        eRRor.resize(255, 63)
        self.verticalLayoutE = QtWidgets.QVBoxLayout(eRRor)
        self.verticalLayoutE.setObjectName("verticalLayoutE")
        self.labelE = QtWidgets.QLabel(eRRor)
        fontE = QtGui.QFont()
        fontE.setPointSize(10)
        self.labelE.setFont(fontE)
        self.labelE.setObjectName("labelE")
        self.verticalLayoutE.addWidget(self.labelE)
        self.pushButtonE = QtWidgets.QPushButton(eRRor)
        self.pushButtonE.setObjectName("pushButtonE")
        self.verticalLayoutE.addWidget(self.pushButtonE)
        self.pushButtonE.clicked.connect(self.error_close)
        self.retranslateUi(eRRor)
        QtCore.QMetaObject.connectSlotsByName(eRRor)

    def retranslateUi(self, eRRor):
        _translate = QtCore.QCoreApplication.translate
        eRRor.setWindowTitle(_translate("eRRor", "eRRor"))
        self.labelE.setText(_translate("eRRor", "Oops! You have reached your alarm limit!"))
        self.pushButtonE.setText(_translate("eRRor", "Ok"))

    def error_close(self):
        self.close()

Ответы (1 шт):

Автор решения: S. Nick

НИКОГДА Не изменяйте код, сгенерированный Qt Designer, НИКОГДА. Создайте другой класс, который наследуется от соответствующего виджета, и используйте созданный класс для его заполнения.

Глобальные переменные - это ЗЛО.

Ваш код может выглядеть примерно так:

import sys
from PyQt5 import QtCore, QtWidgets, QtGui  
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtCore import QTime, QTimer

#from ui_watches import Ui_Form, Error, Ui_DialogForm, l


class Ui_Form(object):
#    def __init__(self):
#        super(Ui_Form, self).__init__()
#        self.setWindowTitle('Alarm')

    def setupUi(self, FormF):
        FormF.setObjectName("FormF")
        FormF.resize(264, 402)
        self.gridLayoutF = QtWidgets.QGridLayout(FormF)
        self.gridLayoutF.setObjectName("gridLayoutF")
        self.lcdNumberF = QtWidgets.QLCDNumber(FormF)
        self.lcdNumberF.setObjectName("lcdNumberF")
        self.gridLayoutF.addWidget(self.lcdNumberF, 0, 1, 1, 2)
#        self.timer = QTimer(self)
#        self.timer.timeout.connect(self.showTime)
#        self.timer.start(1000)
#        self.showTime()
        self.pushButton_pF = QtWidgets.QPushButton(FormF)
        self.pushButton_pF.setObjectName("pushButton_pF")
        self.gridLayoutF.addWidget(self.pushButton_pF, 7, 1, 1, 2)
        self.lineF = QtWidgets.QFrame(FormF)
        self.lineF.setFrameShape(QtWidgets.QFrame.HLine)
        self.lineF.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.lineF.setObjectName("lineF")
        self.gridLayoutF.addWidget(self.lineF, 1, 1, 1, 1)
        self.scrollAreaF = QtWidgets.QScrollArea(FormF)
        self.scrollAreaF.setWidgetResizable(True)
        self.scrollAreaF.setObjectName("scrollAreaF")
        self.scrollAreaWidgetContentsF = QtWidgets.QWidget()
        self.scrollAreaWidgetContentsF.setGeometry(QtCore.QRect(0, 0, 221, 492))
        self.scrollAreaWidgetContentsF.setObjectName("scrollAreaWidgetContentsF")
        self.formLayoutF = QtWidgets.QFormLayout(self.scrollAreaWidgetContentsF)
        self.formLayoutF.setObjectName("formLayoutF")
        self.checkBoxF = QtWidgets.QCheckBox(self.scrollAreaWidgetContentsF)
        self.checkBoxF.setText("")
        self.checkBoxF.setObjectName("checkBoxF")
        self.formLayoutF.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.checkBoxF)
        self.labelF = QtWidgets.QLabel(self.scrollAreaWidgetContentsF)
        self.labelF.setObjectName("labelF")
        self.formLayoutF.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.labelF)
        self.pushButtonF = QtWidgets.QPushButton(self.scrollAreaWidgetContentsF)
        self.pushButtonF.setObjectName("pushButtonF")
        self.formLayoutF.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.pushButtonF)
        self.labelF.setVisible(False)
        self.checkBoxF.setVisible(False)
        self.pushButtonF.setVisible(False)
        self.checkBox_2F = QtWidgets.QCheckBox(self.scrollAreaWidgetContentsF)
        self.checkBox_2F.setText("")
        self.checkBox_2F.setObjectName("checkBox_2F")
        self.formLayoutF.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.checkBox_2F)
        self.label_2F = QtWidgets.QLabel(self.scrollAreaWidgetContentsF)
        self.label_2F.setObjectName("label_2F")
        self.formLayoutF.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.label_2F)
        self.pushButton_2F = QtWidgets.QPushButton(self.scrollAreaWidgetContentsF)
        self.pushButton_2F.setObjectName("pushButton_2F")
        self.formLayoutF.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.pushButton_2F)
        self.label_2F.setVisible(False)
        self.checkBox_2F.setVisible(False)
        self.pushButton_2F.setVisible(False)
        self.checkBox_3F = QtWidgets.QCheckBox(self.scrollAreaWidgetContentsF)
        self.checkBox_3F.setText("")
        self.checkBox_3F.setObjectName("checkBox_2F")
        self.formLayoutF.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.checkBox_3F)
        self.label_3F = QtWidgets.QLabel(self.scrollAreaWidgetContentsF)
        self.label_3F.setObjectName("label_3F")
        self.formLayoutF.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.label_3F)
        self.pushButton_3F = QtWidgets.QPushButton(self.scrollAreaWidgetContentsF)
        self.pushButton_3F.setObjectName("pushButton_3F")
        self.formLayoutF.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.pushButton_3F)
        self.label_3F.setVisible(False)
        self.checkBox_3F.setVisible(False)
        self.pushButton_3F.setVisible(False)
        self.checkBox_4F = QtWidgets.QCheckBox(self.scrollAreaWidgetContentsF)
        self.checkBox_4F.setText("")
        self.checkBox_4F.setObjectName("checkBox_4F")
        self.formLayoutF.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.checkBox_4F)
        self.label_4F = QtWidgets.QLabel(self.scrollAreaWidgetContentsF)
        self.label_4F.setObjectName("label_4F")
        self.formLayoutF.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.label_4F)
        self.pushButton_4F = QtWidgets.QPushButton(self.scrollAreaWidgetContentsF)
        self.pushButton_4F.setObjectName("pushButton_4F")
        self.formLayoutF.setWidget(7, QtWidgets.QFormLayout.FieldRole, self.pushButton_4F)
        self.label_4F.setVisible(False)
        self.checkBox_4F.setVisible(False)
        self.pushButton_4F.setVisible(False)
        self.checkBox_5F = QtWidgets.QCheckBox(self.scrollAreaWidgetContentsF)
        self.checkBox_5F.setText("")
        self.checkBox_5F.setObjectName("checkBox_5F")
        self.formLayoutF.setWidget(8, QtWidgets.QFormLayout.LabelRole, self.checkBox_5F)
        self.label_5F = QtWidgets.QLabel(self.scrollAreaWidgetContentsF)
        self.label_5F.setObjectName("label_5F")
        self.formLayoutF.setWidget(8, QtWidgets.QFormLayout.FieldRole, self.label_5F)
        self.pushButton_5F = QtWidgets.QPushButton(self.scrollAreaWidgetContentsF)
        self.pushButton_5F.setObjectName("pushButton_5F")
        self.formLayoutF.setWidget(9, QtWidgets.QFormLayout.FieldRole, self.pushButton_5F)
        self.label_5F.setVisible(False)
        self.checkBox_5F.setVisible(False)
        self.pushButton_5F.setVisible(False)
        self.checkBox_6F = QtWidgets.QCheckBox(self.scrollAreaWidgetContentsF)
        self.checkBox_6F.setText("")
        self.checkBox_6F.setObjectName("checkBox_6F")
        self.formLayoutF.setWidget(10, QtWidgets.QFormLayout.LabelRole, self.checkBox_6F)
        self.label_6F = QtWidgets.QLabel(self.scrollAreaWidgetContentsF)
        self.label_6F.setObjectName("label_6F")
        self.formLayoutF.setWidget(10, QtWidgets.QFormLayout.FieldRole, self.label_6F)
        self.pushButton_6F = QtWidgets.QPushButton(self.scrollAreaWidgetContentsF)
        self.pushButton_6F.setObjectName("pushButton_6F")
        self.formLayoutF.setWidget(11, QtWidgets.QFormLayout.FieldRole, self.pushButton_6F)
        self.label_6F.setVisible(False)
        self.checkBox_6F.setVisible(False)
        self.pushButton_6F.setVisible(False)
        self.checkBox_7F = QtWidgets.QCheckBox(self.scrollAreaWidgetContentsF)
        self.checkBox_7F.setText("")
        self.checkBox_7F.setObjectName("checkBox_7F")
        self.formLayoutF.setWidget(12, QtWidgets.QFormLayout.LabelRole, self.checkBox_7F)
        self.label_7F = QtWidgets.QLabel(self.scrollAreaWidgetContentsF)
        self.label_7F.setObjectName("label_7F")
        self.formLayoutF.setWidget(12, QtWidgets.QFormLayout.FieldRole, self.label_7F)
        self.pushButton_7F = QtWidgets.QPushButton(self.scrollAreaWidgetContentsF)
        self.pushButton_7F.setObjectName("pushButton_7F")
        self.formLayoutF.setWidget(13, QtWidgets.QFormLayout.FieldRole, self.pushButton_7F)
        self.label_7F.setVisible(False)
        self.checkBox_7F.setVisible(False)
        self.pushButton_7F.setVisible(False)
        self.checkBox_8F = QtWidgets.QCheckBox(self.scrollAreaWidgetContentsF)
        self.checkBox_8F.setText("")
        self.checkBox_8F.setObjectName("checkBox_8F")
        self.formLayoutF.setWidget(14, QtWidgets.QFormLayout.LabelRole, self.checkBox_8F)
        self.label_8F = QtWidgets.QLabel(self.scrollAreaWidgetContentsF)
        self.label_8F.setObjectName("label_8F")
        self.formLayoutF.setWidget(14, QtWidgets.QFormLayout.FieldRole, self.label_8F)
        self.pushButton_8F = QtWidgets.QPushButton(self.scrollAreaWidgetContentsF)
        self.pushButton_8F.setObjectName("pushButton_8F")
        self.formLayoutF.setWidget(15, QtWidgets.QFormLayout.FieldRole, self.pushButton_8F)
        self.label_8F.setVisible(False)
        self.checkBox_8F.setVisible(False)
        self.pushButton_8F.setVisible(False)
        self.checkBox_9F = QtWidgets.QCheckBox(self.scrollAreaWidgetContentsF)
        self.checkBox_9F.setText("")
        self.checkBox_9F.setObjectName("checkBox_9F")
        self.formLayoutF.setWidget(16, QtWidgets.QFormLayout.LabelRole, self.checkBox_9F)
        self.label_9F = QtWidgets.QLabel(self.scrollAreaWidgetContentsF)
        self.label_9F.setObjectName("label_9F")
        self.formLayoutF.setWidget(16, QtWidgets.QFormLayout.FieldRole, self.label_9F)
        self.pushButton_9F = QtWidgets.QPushButton(self.scrollAreaWidgetContentsF)
        self.pushButton_9F.setObjectName("pushButton_9F")
        self.formLayoutF.setWidget(17, QtWidgets.QFormLayout.FieldRole, self.pushButton_9F)
        self.label_9F.setVisible(False)
        self.checkBox_9F.setVisible(False)
        self.pushButton_9F.setVisible(False)
        self.checkBox_10F = QtWidgets.QCheckBox(self.scrollAreaWidgetContentsF)
        self.checkBox_10F.setText("")
        self.checkBox_10F.setObjectName("checkBox_10F")
        self.formLayoutF.setWidget(18, QtWidgets.QFormLayout.LabelRole, self.checkBox_10F)
        self.label_10F = QtWidgets.QLabel(self.scrollAreaWidgetContentsF)
        self.label_10F.setObjectName("label_10F")
        self.formLayoutF.setWidget(18, QtWidgets.QFormLayout.FieldRole, self.label_10F)
        self.pushButton_10F = QtWidgets.QPushButton(self.scrollAreaWidgetContentsF)
        self.pushButton_10F.setObjectName("pushButton_10F")
        self.formLayoutF.setWidget(19, QtWidgets.QFormLayout.FieldRole, self.pushButton_10F)
        self.label_10F.setVisible(False)
        self.checkBox_10F.setVisible(False)
        self.pushButton_10F.setVisible(False)
        self.scrollAreaF.setWidget(self.scrollAreaWidgetContentsF)
        self.gridLayoutF.addWidget(self.scrollAreaF, 2, 1, 1, 1)

        self.retranslateUi(FormF)
        QtCore.QMetaObject.connectSlotsByName(FormF)

    def retranslateUi(self, FormF):
        _translate = QtCore.QCoreApplication.translate
        FormF.setWindowTitle(_translate("FormF", "Alarm"))
        self.pushButton_pF.setText(_translate("FormF", "+"))
        self.pushButtonF.setText(_translate("FormF", "Delate"))
        self.labelF.setText(_translate("FormF", "TextLabel"))
        self.pushButton_2F.setText(_translate("FormF", "Delate"))
        self.label_2F.setText(_translate("FormF", "TextLabel"))
        self.pushButton_3F.setText(_translate("FormF", "Delate"))
        self.label_3F.setText(_translate("FormF", "TextLabel"))
        self.pushButton_4F.setText(_translate("FormF", "Delate"))
        self.label_4F.setText(_translate("FormF", "TextLabel"))
        self.pushButton_5F.setText(_translate("FormF", "Delate"))
        self.label_5F.setText(_translate("FormF", "TextLabel"))
        self.pushButton_6F.setText(_translate("FormF", "Delate"))
        self.label_6F.setText(_translate("FormF", "TextLabel"))
        self.pushButton_7F.setText(_translate("FormF", "Dekate"))
        self.label_7F.setText(_translate("Form", "TextLabel"))
        self.pushButton_8F.setText(_translate("FormF", "Delate"))
        self.label_8F.setText(_translate("FormF", "TextLabel"))
        self.pushButton_9F.setText(_translate("FormF", "Delate"))
        self.label_9F.setText(_translate("FormF", "TextLabel"))
        self.pushButton_10F.setText(_translate("FormF", "Delate"))
        self.label_10F.setText(_translate("FormF", "TextLabel"))


class Ui_Error(object):
    def setupUi(self, eRRor):
        eRRor.setObjectName("eRRor")
        eRRor.resize(255, 63)
        self.verticalLayoutE = QtWidgets.QVBoxLayout(eRRor)
        self.verticalLayoutE.setObjectName("verticalLayoutE")
        self.labelE = QtWidgets.QLabel(eRRor)
        fontE = QtGui.QFont()
        fontE.setPointSize(10)
        self.labelE.setFont(fontE)
        self.labelE.setObjectName("labelE")
        self.verticalLayoutE.addWidget(self.labelE)
        self.pushButtonE = QtWidgets.QPushButton(eRRor)
        self.pushButtonE.setObjectName("pushButtonE")
        self.verticalLayoutE.addWidget(self.pushButtonE)
        self.pushButtonE.clicked.connect(self.error_close)
        self.retranslateUi(eRRor)
        QtCore.QMetaObject.connectSlotsByName(eRRor)

    def retranslateUi(self, eRRor):
        _translate = QtCore.QCoreApplication.translate
        eRRor.setWindowTitle(_translate("eRRor", "eRRor"))
        self.labelE.setText(_translate("eRRor", "Oops! You have reached your alarm limit!"))
        self.pushButtonE.setText(_translate("eRRor", "Ok"))


class Ui_DialogForm(object):
    def setupUi(self, DialogForm):
        DialogForm.setObjectName("DialogForm")
        DialogForm.resize(263, 135)
        self.gridLayoutD = QtWidgets.QGridLayout(DialogForm)
        self.gridLayoutD.setObjectName("gridLayoutD")
        self.label_4D = QtWidgets.QLabel(DialogForm)
        self.label_4D.setObjectName("label_4D")
        self.gridLayoutD.addWidget(self.label_4D, 4, 0, 1, 1)
        self.label_2D = QtWidgets.QLabel(DialogForm)
        self.label_2D.setObjectName("label_2D")
        self.gridLayoutD.addWidget(self.label_2D, 1, 0, 1, 1)
        self.label_3D = QtWidgets.QLabel(DialogForm)
        self.label_3D.setObjectName("label_3D")
        self.gridLayoutD.addWidget(self.label_3D, 2, 0, 1, 1)
        self.labelD = QtWidgets.QLabel(DialogForm)
        self.labelD.setObjectName("labelD")
        self.gridLayoutD.addWidget(self.labelD, 0, 0, 1, 1)
        self.lineEditD = QtWidgets.QLineEdit(DialogForm)
        self.lineEditD.setObjectName("lineEditD")
        self.gridLayoutD.addWidget(self.lineEditD, 1, 2, 1, 1)
        self.timeEditD = QtWidgets.QTimeEdit(DialogForm)
        self.timeEditD.setObjectName("timeEditD")
        self.gridLayoutD.addWidget(self.timeEditD, 2, 2, 1, 1)
        self.buttonBoxD = QtWidgets.QDialogButtonBox(DialogForm)
        self.buttonBoxD.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel | QtWidgets.QDialogButtonBox.Ok)
        self.buttonBoxD.setObjectName("buttonBoxD")
        self.gridLayoutD.addWidget(self.buttonBoxD, 0, 2, 1, 1)
        self.label_5D = QtWidgets.QLabel(DialogForm)
        self.label_5D.setObjectName("label_5D")
        self.gridLayoutD.addWidget(self.label_5D, 4, 2, 1, 1)
        self.pushButtonD = QtWidgets.QPushButton(DialogForm)
        self.pushButtonD.setObjectName("pushButtonD")
        self.gridLayoutD.addWidget(self.pushButtonD, 5, 2, 1, 1)

#        self.buttonBoxD.accepted.connect(self.accept)
#        self.buttonBoxD.rejected.connect(self.reject)

        self.retranslateUi(DialogForm)
        QtCore.QMetaObject.connectSlotsByName(DialogForm)

    def retranslateUi(self, DialogForm):
        _translate = QtCore.QCoreApplication.translate
        self.label_4D.setText(_translate("DialogForm", "Melody:"))
        self.label_2D.setText(_translate("DialogForm", "Name:"))
        self.label_3D.setText(_translate("DialogForm", "Time:"))
        self.labelD.setText(_translate("DialogForm", "Save your alarm?"))
        self.label_5D.setText(_translate("DialogForm", "by default (wakey-wakey)"))
        self.pushButtonD.setText(_translate("DialogForm", "Choose File"))


class Error(QWidget, Ui_Error):
    def __init__(self):
        super(Error, self).__init__()
        self.setupUi(self)
        self.setWindowTitle('Error')

    def error_close(self):
        self.close()
        
        
class DialogForm(QWidget, Ui_DialogForm):
    def __init__(self, l):
        super(DialogForm, self).__init__()
        self.setupUi(self)
        self.setWindowTitle('Error')
        
        self.l = l
        
        self.buttonBoxD.accepted.connect(self.accept)
        self.buttonBoxD.rejected.connect(self.reject)
        
    def accept(self):
#        global l
        name = self.lineEditD.text()
        time = self.timeEditD.text()
        text = name + ' ' + time
        melody = self.label_5D.text()

        self.l[self.l.index(False)] = text
        self.close()

    def reject(self):
        self.close()
        

class Watches(QWidget, Ui_Form):
    def __init__(self):
#        global dialog, error, labels
        super().__init__()
        self.setupUi(self)
        
        self.setWindowTitle('Alarm')
        
        self.pushButton_pF.clicked.connect(self.showDialog)
        
        self.l = [False] * 10
        
        self.timer = QTimer(self)
        self.timer.timeout.connect(self.showTime)
        self.timer.start(1000)

    def showTime(self):
        time = QTime.currentTime()
        text = time.toString('hh:mm')
        if (time.second() % 2) == 0:
            text = text[:2] + ' ' + text[3:]
            self.labelF.setText(str(self.l[0]))
            self.label_2F.setText(str(self.l[1]))
            self.label_3F.setText(str(self.l[2]))
            self.label_4F.setText(str(self.l[3]))
            self.label_5F.setText(str(self.l[4]))
            self.label_6F.setText(str(self.l[5]))
            self.label_7F.setText(str(self.l[6]))
            self.label_8F.setText(str(self.l[7]))
            self.label_9F.setText(str(self.l[8]))
            self.label_10F.setText(str(self.l[9]))
            if self.l[0]:
                self.labelF.setVisible(True)
                self.checkBoxF.setVisible(True)
                self.pushButtonF.setVisible(True)
            if self.l[1]:
                self.label_2F.setVisible(True)
                self.checkBox_2F.setVisible(True)
                self.pushButton_2F.setVisible(True)
            if self.l[2]:
                self.label_3F.setVisible(True)
                self.checkBox_3F.setVisible(True)
                self.pushButton_3F.setVisible(True)
            if self.l[3]:
                self.label_4F.setVisible(True)
                self.checkBox_4F.setVisible(True)
                self.pushButton_4F.setVisible(True)
            if self.l[4]:
                self.label_5F.setVisible(True)
                self.checkBox_5F.setVisible(True)
                self.pushButton_5F.setVisible(True)
            if self.l[5]:
                self.label_6F.setVisible(True)
                self.checkBox_6F.setVisible(True)
                self.pushButton_6F.setVisible(True)
            if self.l[6]:
                self.label_7F.setVisible(True)
                self.checkBox_7F.setVisible(True)
                self.pushButton_7F.setVisible(True)
            if self.l[7]:
                self.label_8F.setVisible(True)
                self.checkBox_8F.setVisible(True)
                self.pushButton_8F.setVisible(True)
            if self.l[8]:
                self.label_9F.setVisible(True)
                self.checkBox_9F.setVisible(True)
                self.pushButton_9F.setVisible(True)
            if self.l[9]:
                self.label_10F.setVisible(True)
                self.checkBox_10F.setVisible(True)
                self.pushButton_10F.setVisible(True)
        self.lcdNumberF.display(text)

    def showDialog(self):
#        global l, dialog, error
        if self.l.count(False) == 0:           
            self.error = Error()
            self.error.show()
        else:
#            self.dialog = Ui_DialogForm()                  
            self.dialog = DialogForm(self.l)                  # + self.l
            self.dialog.show()


def exept_hook(cls, exception, traceback):
    sys.__excepthook__(cls, exception, traceback)


if __name__ == '__main__':
    sys.exepthook = exept_hook
    app = QApplication(sys.argv)
    wtch = Watches()
    wtch.show()
    sys.exit(app.exec_())

введите сюда описание изображения

→ Ссылка