Exemplo n.º 1
0
	def on_triggered_menu_view_new(self):
		sub = QMdiSubWindow()
		sub.setWidget(QTextEdit())
		sub.setWindowTitle("MDI [%d]" % len(self.mdiArea.subWindowList()))
		self.mdiArea.addSubWindow(sub)
		sub.show()
		return
Exemplo n.º 2
0
 def toolbar_action(self, q):
     type = q.text()
     print("Triggered : %s" % type)
     if type == "新建窗口":
         # 子窗口增加一个
         self.count += 1
         # 实例化多文档界面对象
         sub = QMdiSubWindow()
         # 向sub内部添加控件
         sub.setWidget(QTextEdit())
         sub.setWindowTitle("subWindow %d" % self.count)
         self.mdiArea.addSubWindow(sub)
         sub.show()
     elif type == "新建九宫格":
         pictures = [
             'C:\\Users\\Admin\\Pictures\\pictures\\0' + str(i) + '.png'
             for i in range(1, 10)
         ]
         for p in pictures:
             sub = QMdiSubWindow()
             # 创建一个QLabel,用来显示图片
             label = QLabel(sub)
             label.setGeometry(QRect(40, 40, 572, 857))
             png = QPixmap(p)
             label.setPixmap(png)
             label.setScaledContents(True)
             # 子窗口增加一个
             self.count += 1
             sub.setWindowTitle("subWindow %d" % self.count)
             self.mdiArea.addSubWindow(sub)
             sub.show()
         self.mdiArea.tileSubWindows()
Exemplo n.º 3
0
 def main_add_remove_record(self):
     sub = QMdiSubWindow()
     add_rm = Add_remove_record_window()
     sub.setWidget(add_rm)
     self.ui.mdiArea.addSubWindow(sub)
     sub.setFixedSize(545, 550)
     sub.show()
Exemplo n.º 4
0
 def windowaction(self, q):
     type = q.text()
     print("Triggered : %s" % type)
     if type == "新建":
         # 子窗口增加一个
         self.count = self.count + 1
         # 实例化多文档界面对象
         sub = QMdiSubWindow()
         # 向sub内部添加控件
         sub.setWidget(QTextEdit())
         sub.setWindowTitle("subWindow %d" % self.count)
         self.mdi.addSubWindow(sub)
         sub.show()
         #sub.hide()
     elif type == "级联":
         self.mdi.cascadeSubWindows()
     elif type == "平铺":
         self.mdi.tileSubWindows()
     elif type == "关闭全部":
         self.mdi.closeAllSubWindows()
     elif type == "关闭活动窗口":
         self.mdi.closeActiveSubWindow()
     elif type == "测试":
         lst = self.mdi.subWindowList()
         print(lst)
Exemplo n.º 5
0
 def main_update_record(self):
     sub = QMdiSubWindow()
     updt = Update_record_window()
     sub.setWidget(updt)
     self.ui.mdiArea.addSubWindow(sub)
     sub.setFixedSize(545, 550)
     sub.show()
Exemplo n.º 6
0
 def main_erase_all_records(self):
     sub = QMdiSubWindow()
     updt = Erase_all_records_window()
     sub.setWidget(updt)
     self.ui.mdiArea.addSubWindow(sub)
     sub.setFixedSize(545, 550)
     sub.show()
    def mashBoilButtonClicked(self):
        database = db(self.LOGIN, "Brewing")
        database.flushTables()
        batchID = database.maxIdFromTable("Brews")

        sub = QMdiSubWindow()
        if self.isRunningOnPi:
            ##Create instance of MashBoilMonitor
            mashBoilMonitor = MashBoilMonitor(self.LOGIN,
                                              batchID,
                                              radio=self.radio,
                                              parent=self)
        else:
            mashBoilMonitor = MashBoilMonitor(self.LOGIN,
                                              batchID,
                                              radio=None,
                                              parent=self)
        # self.mashBoilMonitor.show()
        mashBoilMonitor.finishedSignal.connect(
            lambda: self.fermentMonitor.restartTankDropdown())

        sub.setWidget(mashBoilMonitor)
        self.parent.mdi.addSubWindow(sub)
        mashBoilMonitor.closeSignal.connect(lambda: sub.close())
        sub.show()
Exemplo n.º 8
0
 def main_search_goat(self):
     sub = QMdiSubWindow()
     updt = Search_goat_window()
     sub.setWidget(updt)
     self.ui.mdiArea.addSubWindow(sub)
     sub.setFixedSize(545, 550)
     sub.show()
Exemplo n.º 9
0
    def __add__(self, widget):
        """
		Show widget on mdi area.

		If widget does not have a subwindow assigned, create a new subwindow without enabling the WA_DeleteOnClose event.
		This will allow subwindow to be hidden instead of destroyed. Otherwise, the closeEvent.accept() will cause
		the "Internal c++ Object Already Deleted" problem.

		If widget already has a subwindow, just show them (both the subwindow and the widget inside)!
		:param widget:
		:return:
		"""

        if not hasattr(widget, 'subwindow'):
            subwindow = QMdiSubWindow()
            subwindow.setWidget(widget)
            rect = widget.geometry()
            # DO NOT SET ATTRIBUTE WA_DeleteOnClose because we want window not to be destroyed
            widget.subwindow = self.addSubWindow(subwindow)
            subwindow.setGeometry(rect)

        widget.subwindow.show()
        widget.show()
        widget.closeEvent = lambda x: self._subWindowClosed(x)
        widget.setFocus()

        logger.debug("Sub window opened. MDI area sub windows: %s",
                     self.subWindowList())

        return self
Exemplo n.º 10
0
def displayMetaDataSubWindow(self, tableTitle, dataset):
    """
    Creates a subwindow that displays a DICOM image's metadata. 
    """
    try:
        logger.info('ViewMetaData.displayMetaDataSubWindow called.')
        title = "DICOM Image Metadata"
                    
        widget = QWidget()
        widget.setLayout(QVBoxLayout()) 
        metaDataSubWindow = QMdiSubWindow(self)
        metaDataSubWindow.setAttribute(Qt.WA_DeleteOnClose)
        metaDataSubWindow.setWidget(widget)
        metaDataSubWindow.setObjectName("metaData_Window")
        metaDataSubWindow.setWindowTitle(title)
        height, width = self.getMDIAreaDimensions()
        metaDataSubWindow.setGeometry(width * 0.4,0,width*0.6,height)
        lblImageName = QLabel('<H4>' + tableTitle + '</H4>')
        widget.layout().addWidget(lblImageName)

        DICOM_Metadata_Table_View = buildTableView(self, dataset) 
            
        widget.layout().addWidget(DICOM_Metadata_Table_View)

        self.mdiArea.addSubWindow(metaDataSubWindow)
        metaDataSubWindow.show()
    except Exception as e:
        print('Error in : ViewMetaData.displayMetaDataSubWindow' + str(e))
        logger.error('Error in : ViewMetaData.displayMetaDataSubWindow' + str(e))
Exemplo n.º 11
0
 def onFileNew(self):
     newDoc = QMdiSubWindow(self)
     newDoc.setWindowTitle('新文档 ' + str(self.newDocIndex))
     self.newDocIndex += 1
     newDoc.setWidget(QPlainTextEdit(newDoc))
     self.mdiArea.addSubWindow(newDoc)
     newDoc.show()
Exemplo n.º 12
0
 def finger_test(self):
     """DocString for finger_test"""
     #@todo: to be defined.
     dict_conf = self.conf.config_read()
     judge_test = int(dict_conf['Test']['test'])
     if not judge_test:
         return False
     try:
         if not self.window_graph_show.isClosed():
             self.window_graph_show.close()
     except:
         pass
     try:
         if self.window_finger_test.isClosed():
             judge = True
         else:
             judge = False
     except:
         judge = True
     finally:
         if judge:
             self.window_finger_test = WindowFingerTestLogic(
                 self.conf, self.log)
             self.window_finger_test.startTimer(0)
             sub = QMdiSubWindow()
             sub.setWidget(self.window_finger_test)
             self.mdi = QMdiArea()
             self.setCentralWidget(self.mdi)
             self.mdi.addSubWindow(sub)
             self.signal_start_refresh.connect(
                 self.window_finger_test.update_lcd)
             self.window_finger_test.show()
Exemplo n.º 13
0
    def CreateWindow(self):

        self.hw.pushButton.clicked.connect(self.vs.showNormal)
        subwindow = QMdiSubWindow()
        subwindow.setWindowFlags(Qt.CustomizeWindowHint | Qt.Tool)
        subwindow.setWidget(self.hw)
        self.mdiArea.addSubWindow(subwindow)
Exemplo n.º 14
0
 def main_show_statistics_graph(self):
     sub = QMdiSubWindow()
     updt = Show_statistics_graph_window()
     sub.setWidget(updt)
     self.ui.mdiArea.addSubWindow(sub)
     sub.setFixedSize(545, 550)
     sub.show()
Exemplo n.º 15
0
 def add_window(self, widget: QWidget, tab_name: str = None):
     sub_window = QMdiSubWindow()
     sub_window.setWidget(widget)
     if tab_name is not None:
         sub_window.setWindowTitle(tab_name)
     self.subwindows[widget] = sub_window
     self.ui.mdi_area.addSubWindow(sub_window)
Exemplo n.º 16
0
 def sendOnecard(self):
     randomflag = self.randomsend(1)
     subcard = QMdiSubWindow()
     subcard.setWidget(Card(randomflag))
     self.mid.addSubWindow(subcard)
     subcard.setWindowFlags(Qt.WindowMinimizeButtonHint)
     subcard.show()
Exemplo n.º 17
0
    def setupWindows(self):
        """
        Set up QMdiArea parent and subwindows.
        Add available cameras on local system as items to 
        list widget.
        """
        # Create images directory if it does not already exist
        path = 'images'
        if not os.path.exists(path):
            os.makedirs(path)

        # Set up list widget that will display identified
        # cameras on your computer.
        picture_label = QLabel("Press 'Spacebar' to take pictures.")
        camera_label = QLabel("Available Cameras")
        self.camera_list_widget = QListWidget()
        self.camera_list_widget.setAlternatingRowColors(True)

        # Add availableCameras to a list to be displayed in
        # list widget. Use QCameraInfo() to list available cameras.
        self.cameras = list(QCameraInfo().availableCameras())
        for camera in self.cameras:
            self.list_item = QListWidgetItem()
            self.list_item.setText(camera.deviceName())
            self.camera_list_widget.addItem(self.list_item)

        # Create button that will allow user to select camera
        choose_cam_button = QPushButton("Select Camera")
        choose_cam_button.clicked.connect(self.selectCamera)

        # Create child widgets and layout for camera controls subwindow
        controls_gbox = QGroupBox()
        controls_gbox.setTitle("Camera Controls")

        v_box = QVBoxLayout()
        v_box.addWidget(picture_label, alignment=Qt.AlignCenter)
        v_box.addWidget(camera_label)
        v_box.addWidget(self.camera_list_widget)
        v_box.addWidget(choose_cam_button)

        controls_gbox.setLayout(v_box)

        controls_sub_window = QMdiSubWindow()
        controls_sub_window.setWidget(controls_gbox)
        controls_sub_window.setAttribute(Qt.WA_DeleteOnClose)

        # Create view finder subwindow
        self.view_finder_window = QMdiSubWindow()
        self.view_finder_window.setWindowTitle("Camera View")
        self.view_finder_window.setAttribute(Qt.WA_DeleteOnClose)

        # Create QMdiArea widget to manage subwindows
        mdi_area = QMdiArea()
        mdi_area.tileSubWindows()
        mdi_area.addSubWindow(self.view_finder_window)
        mdi_area.addSubWindow(controls_sub_window)

        # Set mdi_area widget as the central widget of main window
        self.setCentralWidget(mdi_area)
Exemplo n.º 18
0
 def onFileNew(self):
     newDoc = QMdiSubWindow(self)
     newDoc.setAttribute(Qt.WA_DeleteOnClose)
     newDoc.setWindowTitle('新文档 ' + str(self.newDocIndex))
     self.newDocIndex += 1
     newDoc.setWidget(QPlainTextEdit(newDoc))
     self.mdiArea.addSubWindow(newDoc)
     newDoc.show()
Exemplo n.º 19
0
 def _setup_effort_window(self):
     from views import EffortWindow
     window = QMdiSubWindow()
     window.setWidget(EffortWindow())
     window.setWindowTitle('Percent Effort')
     window.hide()
     self.ui.mdiArea.addSubWindow(window)
     return window
Exemplo n.º 20
0
 def _setup_employee_window(self):
     from views import EmployeeWindow
     window = QMdiSubWindow()
     window.setWidget(EmployeeWindow())
     window.setWindowTitle('Employees')
     window.hide()
     self.ui.mdiArea.addSubWindow(window)
     return window
Exemplo n.º 21
0
 def _setup_project_window(self):
     from views import ProjectWindow
     window = QMdiSubWindow()
     window.setWidget(ProjectWindow())
     window.setWindowTitle('Projects')
     window.hide()
     self.ui.mdiArea.addSubWindow(window)
     return window
Exemplo n.º 22
0
 def sendFivecards(self):
     randomflag = self.randomsend(5)
     for card in randomflag:
         subcard = QMdiSubWindow()
         subcard.setWidget(Card(card))
         self.mid.addSubWindow(subcard)
         subcard.setWindowFlags(Qt.WindowMinimizeButtonHint)
         subcard.show()
Exemplo n.º 23
0
    def new_windows(self):
        sub = QMdiSubWindow()
        sub.setWidget(QTextEdit())
        sub.setWindowTitle("New Article")
        sub.setGeometry(100, 100, 600, 320)

        self.mdi.addSubWindow(sub)
        sub.show()
Exemplo n.º 24
0
 def addWorkspaceMdiWindow(self, widget):
     window = QMdiSubWindow()
     window.setWidget(widget)
     window.setAttribute(Qt.WA_DeleteOnClose)
     window.setWindowIcon(
         QIcon(WorkspaceWidget.window_icons[widget._workspace_widget_type]))
     self.addSubWindow(window)
     window.show()
     widget.show()
Exemplo n.º 25
0
 def add_subwindow(self, unit):
     win = setupwindows.MakeWindows.make_sub_window(unit)
     window = QMdiSubWindow()
     window.setWidget(win)
     window.setWindowFlags(QtCore.Qt.WindowCloseButtonHint
                           | QtCore.Qt.WindowMaximizeButtonHint)
     self.subWindowFrame.addSubWindow(window)
     window.show()
     self.subWindowFrame.tileSubWindows()
Exemplo n.º 26
0
 def open_python_editor(self):
     editor = PyCodeEdit(server_script=server.__file__)
     # we add the image browsing widget
     sub = QMdiSubWindow(None, Qt.WindowShadeButtonHint)
     sub.setWindowTitle("Editor")
     sub.setWidget(editor)
     sub.setWindowIcon(QIcon("gui/resources/icons/python.ico"))
     self.mdiArea.addSubWindow(sub)
     workspace.add(sub)
     sub.show()
 def viewDataClicked(self):
     viewDataWindow = ViewDataWindow(LOGIN=self.LOGIN, parent=self)
     #viewDataWindow.exec_()
     # viewDataWindow.show()
     # pass
     sub = QMdiSubWindow()
     sub.setWidget(viewDataWindow)
     self.parent.mdi.addSubWindow(sub)
     viewDataWindow.closeSignal.connect(lambda: sub.close())
     sub.show()
Exemplo n.º 28
0
class EditTemplateMenuEntry(QPyDesignerTaskMenuExtension):

	def action(self):
		from PyQt5.QtWidgets import QMessageBox
		messageBox = QMessageBox(None)
		messageBox.setText("Coming soon...")
		self.messageBox = messageBox
		#self.messageBox.show()
		self.open_template()

	def open_template(self):
		#filename = "/home/bsobhani/bsw/bss_test83.ui"
		filename = self.widget.getAbsPath()
		#print(filename)
		file = QFile(filename)
		file.open(QFile.ReadWrite)
		#core.formWindowManager().activeFormWindow().setContents(file)
		#core.formWindowManager().addFormWindow(core.formWindowManager().createFormWindow())
		orig = core.formWindowManager().activeFormWindow()
		self.p = core.formWindowManager().activeFormWindow().parent()
		#self.p = QWidget()
		self.win = core.formWindowManager().createFormWindow(self.p,Qt.Widget)
		#print("win width", self.win.width())
		#print("win height", self.win.height())
		self.win.setContents(file)
		#print(self.win.contents())
		#print("win width", self.win.geometry().width())
		#print("win height", self.win.height())
		self.win.setHidden(False)
		#self.win.setVisible(True)
		self.win.setFileName(filename)
		self.win.show()
		
		core.formWindowManager().addFormWindow(self.win)
		core.formWindowManager().setActiveFormWindow(self.win)
		main = core.actionEditor().parent().parent().parent()
		mdiArea = main.children()[5]
		from PyQt5.QtWidgets import QMdiSubWindow
		self.subwindow = QMdiSubWindow(mdiArea)
		self.subwindow.setWidget(self.win)
		self.subwindow.show()

	def __init__(self, widget, parent):

		QPyDesignerTaskMenuExtension.__init__(self, parent)

		self.widget = widget
		self.editStateAction = QAction(self.tr("Edit template..."), self)
		self.editStateAction.triggered.connect(self.action)

	def preferredEditAction(self):
		return self.editStateAction

	def taskActions(self):
		return [self.editStateAction]
    def fermentButtonClicked(self):
        self.fermentMonitor = FermentMonitor(self.LOGIN)
        #        self.fermentMonitor.startTimers()
        self.fermentMonitor.updateTankDropdown()
        # self.fermentMonitor.show()

        sub = QMdiSubWindow()
        sub.setWidget(self.fermentMonitor)
        self.parent.mdi.addSubWindow(sub)
        sub.show()
        self.fermentMonitor.closeSignal.connect(lambda: sub.close())
    def irCameraclick(self):

        if self.isRunningOnPi:
            irCamera = IrCameraWidget(radio=self.radio, parent=None)

            sub = QMdiSubWindow()
            sub.setWidget(irCamera)
            self.parent.mdi.addSubWindow(sub)
            sub.show()
        else:
            self._log.warning(
                "Cannot open camera as application running in remote mode")
 def WindowTrig(self, p):
     if p.text() == "&New":
         MDIWindow.count = MDIWindow.count + 1
         sub = QMdiSubWindow()
         sub.setWidget(QTextEdit())
         sub.setWindowTitle("Sub Window" + str(MDIWindow.count))
         self.mdi.addSubWindow(sub)
         sub.show()
     if p.text() == "&Cascade":
         self.mdi.cascadeSubWindows()
     if p.text() == "&Tile":
         self.mdi.tileSubWindows()
 def window_action(self, action):
     print("点击", action.data())
     if action.data() == "new":
         MainWin.count += 1
         sub_win = QMdiSubWindow()
         sub_win.setWidget(QTextEdit())
         sub_win.setWindowTitle("子窗口 %d" % MainWin.count)
         self.mdi_area.addSubWindow(sub_win)
     if action.data() == "csscade":
         self.mdi_area.cascadeSubWindows()  # 级联模式排列
     if action.data() == "tiled":
         self.mdi_area.tileSubWindows()  # 平铺排列
Exemplo n.º 33
0
 def sendOnecard(self):
     '''
     随机一张牌,发出去。
     '''
     randomflag = self.randomsend(1)
     subcard = QMdiSubWindow()
     subcard.setWidget(Card(randomflag))
     self.mid.addSubWindow(subcard)
     subcard.setWindowFlags(Qt.WindowMinimizeButtonHint)
     # 设置窗口属性,让其只显示最小化按钮。
     subcard.resize(150, 200)
     subcard.show()
Exemplo n.º 34
0
    def add_view(self, w, name):
        sub = QMdiSubWindow()
        sub.setWidget(w)
        self.views[name] = sub

        self.actions[name] = QAction(
            w.display_name if hasattr(w, 'display_name') else name,
            self,
            checkable=True)
        self.actions[name].setData(name)
        self.actions[name].triggered.connect(lambda: self.toggle_view(name))

        self.viewmenu.addAction(self.actions[name])
Exemplo n.º 35
0
    def open_file(self, msg):
        file_name = PyQt5.QtWidgets.QFileDialog.getOpenFileName(self,'Open Image',' ',
                                                                'FITS Files (*.fits *.fit *.fts);;HDR Images (*.exr);;'
                                                                'Images (*.tiff *.tif *.png *.jpeg *.jpg *.bmp *.dib '
                                                                '*.jpe *.pbm *.pgm *.ppm *.sr *.ras *.jp2);;All (*)')

        if(file_name[0]):
            # Load the image from file
            print(file_name[0])
            im=Image(file_name[0])
            pixmap = PyQt5.QtGui.QPixmap.fromImage(im.toqimage())

            #we add the image browsing widget
            sub = QMdiSubWindow(None, Qt.WindowShadeButtonHint)
            sub.setWindowTitle("Browse")
            label = QLabel()
            label.setPixmap(pixmap)
            sub.setWidget(label)
            self.mdiArea.addSubWindow(sub)
            workspace.add(sub)
            sub.show()
Exemplo n.º 36
0
class MainWindow(QMainWindow):
    def __init__(self, win_arg):
        super(MainWindow, self).__init__()
        loadUi(getcwd() + '/ui/main.ui', self)
        self.mdi.setBackground(QBrush(QImage(getcwd() + "/images/logo.png")))
        self.setWindowIcon(QIcon(getcwd() + "/images/icon.ico"))

        self.menu_3.setEnabled(False)

        if "-FS" in win_arg:
            self.arg_FS()

        logging.config.fileConfig(getcwd() + '/setting/logger_conf.ini')
        self.logger = logging.getLogger("MainLog")

        self.show()
        self.setDisabled(True)

        self.login = login_window.LoginWindow(self)
        # self.admin_login()

    def access(self):
        for item in User().access_list(self.__class__.__name__):
            a = getattr(self, item["atr1"])
            if item["atr2"]:
                a = getattr(a, item["atr2"])

            if item["value"]:
                try:
                    val = int(item["value"])
                except:
                    val = item["value"]
                a(val)
            else:
                a()

    def view_material(self):
        self.material = supply_material.MaterialSupplyList()
        self.sub_material = QMdiSubWindow()
        self.sub_material.setWidget(self.material)
        self.mdi.addSubWindow(self.sub_material)
        self.sub_material.resize(self.material.size())
        self.sub_material.show()

    def view_material_provider(self):
        self.mat_prov = provider.ProviderMaterial()
        self.sub_provider = QMdiSubWindow()
        self.sub_provider.setWidget(self.mat_prov)
        self.mdi.addSubWindow(self.sub_provider)
        self.sub_provider.resize(self.mat_prov.size())
        self.sub_provider.show()

    def view_material_name(self):
        self.material_neme = supply_material.MaterialName()
        self.sub_mater_name = QMdiSubWindow()
        self.sub_mater_name.setWidget(self.material_neme)
        self.mdi.addSubWindow(self.sub_mater_name)
        self.sub_mater_name.resize(self.material_neme.size())
        self.sub_mater_name.show()

    def view_comparing_name(self):
        self.comparing_name = comparing.ComparingName()
        self.sub_comp_name = QMdiSubWindow()
        self.sub_comp_name.setWidget(self.comparing_name)
        self.mdi.addSubWindow(self.sub_comp_name)
        self.sub_comp_name.resize(self.comparing_name.size())
        self.sub_comp_name.show()

    def view_accessories_name(self):
        self.accessories_name = supply_accessories.AccessoriesName()
        self.sub_accsess_name = QMdiSubWindow()
        self.sub_accsess_name.setWidget(self.accessories_name)
        self.mdi.addSubWindow(self.sub_accsess_name)
        self.sub_accsess_name.resize(self.accessories_name.size())
        self.sub_accsess_name.show()

    def view_accessories_provider(self):
        self.access_prov = provider.ProviderAccessories()
        self.sub_provider_access = QMdiSubWindow()
        self.sub_provider_access.setWidget(self.access_prov)
        self.mdi.addSubWindow(self.sub_provider_access)
        self.sub_provider_access.resize(self.access_prov.size())
        self.sub_provider_access.show()

    def view_accessories(self):
        self.accessories = supply_accessories.AccessoriesSupplyList()
        self.accessories.set_settings()
        self.sub_accessories = QMdiSubWindow()
        self.sub_accessories.setWidget(self.accessories)
        self.mdi.addSubWindow(self.sub_accessories)
        self.sub_accessories.resize(self.accessories.size())
        self.sub_accessories.show()

    def view_staff_country(self):
        self.staff_country = staff.Country()
        self.sub_staff_country = QMdiSubWindow()
        self.sub_staff_country.setWidget(self.staff_country)
        self.mdi.addSubWindow(self.sub_staff_country)
        self.sub_staff_country.resize(self.staff_country.size())
        self.sub_staff_country.show()

    def view_staff_position(self):
        self.staff_position = staff.StaffPosition()
        self.sub_staff_position = QMdiSubWindow()
        self.sub_staff_position.setWidget(self.staff_position)
        self.mdi.addSubWindow(self.sub_staff_position)
        self.sub_staff_position.resize(self.staff_position.size())
        self.sub_staff_position.show()

    def view_staff_list(self):
        self.staff_list = staff.Staff()
        self.sub_staff_list = QMdiSubWindow()
        self.sub_staff_list.setWidget(self.staff_list)
        self.mdi.addSubWindow(self.sub_staff_list)
        self.sub_staff_list.resize(self.staff_list.size())
        self.sub_staff_list.show()

    def view_staff_calendar(self):
        self.staff_calendar = notification.WorkCalendar()
        self.sub_staff_calendar = QMdiSubWindow()
        self.sub_staff_calendar.setWidget(self.staff_calendar)
        self.mdi.addSubWindow(self.sub_staff_calendar)
        self.sub_staff_calendar.resize(self.staff_calendar.size())
        self.sub_staff_calendar.show()

    def view_staff_card(self):
        self.staff_card = staff_traffic.StaffCardList()
        self.sub_staff_card = QMdiSubWindow()
        self.sub_staff_card.setWidget(self.staff_card)
        self.mdi.addSubWindow(self.sub_staff_card)
        self.sub_staff_card.resize(self.staff_card.size())
        self.sub_staff_card.show()

    def view_staff_traffic(self):
        self.staff_traffic = staff_traffic.StaffTraffic()
        self.sub_staff_traffic = QMdiSubWindow()
        self.sub_staff_traffic.setWidget(self.staff_traffic)
        self.mdi.addSubWindow(self.sub_staff_traffic)
        self.sub_staff_traffic.resize(self.staff_traffic.size())
        self.sub_staff_traffic.show()

    def view_settings_path(self):
        self.sett_path = program_settings.SettingsPath()
        self.sub_sett_path = QMdiSubWindow()
        self.sub_sett_path.setWidget(self.sett_path)
        self.mdi.addSubWindow(self.sub_sett_path)
        self.sub_sett_path.resize(self.sett_path.size())
        self.sub_sett_path.show()

    def view_settings_road(self):
        self.sett_road = program_settings.SettingsRoad()
        self.sub_sett_road = QMdiSubWindow()
        self.sub_sett_road.setWidget(self.sett_road)
        self.mdi.addSubWindow(self.sub_sett_road)
        self.sub_sett_road.resize(self.sett_road.size())
        self.sub_sett_road.show()

    def view_clients(self):
        self.clients = clients.ClientList()
        self.sub_clients = QMdiSubWindow()
        self.sub_clients.setWidget(self.clients)
        self.mdi.addSubWindow(self.sub_clients)
        self.sub_clients.resize(self.clients.size())
        self.sub_clients.show()

    def view_operation(self):
        self.operation_list = operation.OperationList()
        self.sub_operation_list = QMdiSubWindow()
        self.sub_operation_list.setWidget(self.operation_list)
        self.mdi.addSubWindow(self.sub_operation_list)
        self.sub_operation_list.resize(self.operation_list.size())
        self.sub_operation_list.show()

    def view_add_operation(self):
        self.add_operation_list = operation.OperationAddList()
        self.sub_add_operation_list = QMdiSubWindow()
        self.sub_add_operation_list.setWidget(self.add_operation_list)
        self.mdi.addSubWindow(self.sub_add_operation_list)
        self.sub_add_operation_list.resize(self.add_operation_list.size())
        self.sub_add_operation_list.show()

    def view_product(self):
        self.article_list = article.ArticleListOld()
        self.sub_article_list = QMdiSubWindow()
        self.sub_article_list.setWidget(self.article_list)
        self.mdi.addSubWindow(self.sub_article_list)
        self.sub_article_list.resize(self.article_list.size())
        self.sub_article_list.show()

    def view_order_ooo_list(self):
        self.order_list = order.OrderListOOO()
        self.sub_order_list = QMdiSubWindow()
        self.sub_order_list.setWidget(self.order_list)
        self.mdi.addSubWindow(self.sub_order_list)
        self.sub_order_list.resize(self.order_list.size())
        self.sub_order_list.show()

    def view_order_ip_list(self):
        self.order_list = order.OrderListIP()
        self.sub_order_list = QMdiSubWindow()
        self.sub_order_list.setWidget(self.order_list)
        self.mdi.addSubWindow(self.sub_order_list)
        self.sub_order_list.resize(self.order_list.size())
        self.sub_order_list.show()

    def view_cut_mission_list(self):
        self.cut_mission_list = cut.CutListMission()
        self.sub_cut_mission_list = QMdiSubWindow()
        self.sub_cut_mission_list.setWidget(self.cut_mission_list)
        self.mdi.addSubWindow(self.sub_cut_mission_list)
        self.sub_cut_mission_list.resize(self.cut_mission_list.size())
        self.sub_cut_mission_list.show()

    def view_cut_list(self):
        self.cut_list = cut.CutList()
        self.sub_cut_list = QMdiSubWindow()
        self.sub_cut_list.setWidget(self.cut_list)
        self.mdi.addSubWindow(self.sub_cut_list)
        self.sub_cut_list.resize(self.cut_list.size())
        self.sub_cut_list.show()

    def view_article_list(self):
        self.article_list_all = article.ArticleListAll()
        self.sub_article_list_all = QMdiSubWindow()
        self.sub_article_list_all.setWidget(self.article_list_all)
        self.mdi.addSubWindow(self.sub_article_list_all)
        self.sub_article_list_all.resize(self.article_list_all.size())
        self.sub_article_list_all.show()

    def view_article_test(self):
        self.article_test = article.ArticleList()
        self.sub_article_test = QMdiSubWindow()
        self.sub_article_test.setWidget(self.article_test)
        self.mdi.addSubWindow(self.sub_article_test)
        self.sub_article_test.resize(self.article_test.size())
        self.sub_article_test.show()

    def view_pack_list(self):
        self.pack_list = pack.PackList()
        self.sub_pack_list = QMdiSubWindow()
        self.sub_pack_list.setWidget(self.pack_list)
        self.mdi.addSubWindow(self.sub_pack_list)
        self.sub_pack_list.resize(self.pack_list.size())
        self.sub_pack_list.show()

    def view_pay_plus_minus(self):
        self.pay_plus_minus = pay.PayList()
        self.sub_pay_plus_minus = QMdiSubWindow()
        self.sub_pay_plus_minus.setWidget(self.pay_plus_minus)
        self.mdi.addSubWindow(self.sub_pay_plus_minus)
        self.sub_pay_plus_minus.resize(self.pay_plus_minus.size())
        self.sub_pay_plus_minus.show()

    def view_other_order_edi(self):
        self.input_order_edi = other.OrderEDI()
        self.sub_input_order_edi = QMdiSubWindow()
        self.sub_input_order_edi.setWidget(self.input_order_edi)
        self.mdi.addSubWindow(self.sub_input_order_edi)
        self.sub_input_order_edi.resize(self.input_order_edi.size())
        self.sub_input_order_edi.show()

    def view_audit_verification(self):
        self.audit_verification = audit.AuditVerification()
        self.sub_audit_verification = QMdiSubWindow()
        self.sub_audit_verification.setWidget(self.audit_verification)
        self.mdi.addSubWindow(self.sub_audit_verification)
        self.sub_audit_verification.resize(self.audit_verification.size())
        self.sub_audit_verification.show()

    def view_salary_work(self):
        self.salary_list = salary.SalaryList()
        self.sub_salary_list = QMdiSubWindow()
        self.sub_salary_list.setWidget(self.salary_list)
        self.mdi.addSubWindow(self.sub_salary_list)
        self.sub_salary_list.resize(self.salary_list.size())
        self.sub_salary_list.show()

    def view_pack_operation_list(self):
        self.operation_list = operation_list.PayList(no_start_set=True)
        self.sub_operation_list = QMdiSubWindow()
        self.sub_operation_list.setWidget(self.operation_list)
        self.mdi.addSubWindow(self.sub_operation_list)
        self.sub_operation_list.resize(self.operation_list.size())
        self.sub_operation_list.show()

    def view_product_warehouse(self):
        self.product_warehouse = warehouse_product.Warehouse()
        self.sub_product_warehouse = QMdiSubWindow()
        self.sub_product_warehouse.setWidget(self.product_warehouse)
        self.mdi.addSubWindow(self.sub_product_warehouse)
        self.sub_product_warehouse.resize(self.product_warehouse.size())
        self.sub_product_warehouse.show()

    def view_product_warehouse_2(self):
        self.product_warehouse2 = warehouse_product.Warehouse2()
        self.sub_product_warehouse2 = QMdiSubWindow()
        self.sub_product_warehouse2.setWidget(self.product_warehouse2)
        self.mdi.addSubWindow(self.sub_product_warehouse2)
        self.sub_product_warehouse2.resize(self.product_warehouse2.size())
        self.sub_product_warehouse2.show()

    def view_warehouse_rest(self):
        self.rest_warehouse = warehouse_rest.WarehouseRest()
        self.sub_rest_warehouse = QMdiSubWindow()
        self.sub_rest_warehouse.setWidget(self.rest_warehouse)
        self.mdi.addSubWindow(self.sub_rest_warehouse)
        self.sub_rest_warehouse.resize(self.rest_warehouse.size())
        self.sub_rest_warehouse.show()

    def view_warehouse_material(self):
        self.material_warehouse = warehouse_material.Warehouse()
        self.sub_material_warehouse = QMdiSubWindow()
        self.sub_material_warehouse.setWidget(self.material_warehouse)
        self.mdi.addSubWindow(self.sub_material_warehouse)
        self.sub_material_warehouse.resize(self.material_warehouse.size())
        self.sub_material_warehouse.show()

    def view_warehouse_accessories(self):
        self.accessories_warehouse = warehouse_accessories.Warehouse()
        self.sub_material_accessories = QMdiSubWindow()
        self.sub_material_accessories.setWidget(self.accessories_warehouse)
        self.mdi.addSubWindow(self.sub_material_accessories)
        self.sub_material_accessories.resize(self.accessories_warehouse.size())
        self.sub_material_accessories.show()

    def view_warehouse_adjustments_material(self):
        self.adjustments_material = warehouse_adjustments.MaterialAdjustmentsList()
        self.sub_adjustments_material = QMdiSubWindow()
        self.sub_adjustments_material.setWidget(self.adjustments_material)
        self.mdi.addSubWindow(self.sub_adjustments_material)
        self.sub_adjustments_material.resize(self.adjustments_material.size())
        self.sub_adjustments_material.show()

    def view_transaction_warehouse(self):
        self.transaction_warehouse = transaction_warehouse.TransactionWarehouse()
        self.sub_transaction_warehouse = QMdiSubWindow()
        self.sub_transaction_warehouse.setWidget(self.transaction_warehouse)
        self.mdi.addSubWindow(self.sub_transaction_warehouse)
        self.sub_transaction_warehouse.resize(self.transaction_warehouse.size())
        self.sub_transaction_warehouse.show()

    def view_test_warehouse_material(self):
        self.test_warehouse_material = test_warehouse.TestWarehouseMaterial()
        self.sub_test_warehouse_material = QMdiSubWindow()
        self.sub_test_warehouse_material.setWidget(self.test_warehouse_material)
        self.mdi.addSubWindow(self.sub_test_warehouse_material)
        self.sub_test_warehouse_material.resize(self.test_warehouse_material.size())
        self.sub_test_warehouse_material.show()

    def view_test_warehouse_accessories(self):
        self.test_warehouse_accessories = test_warehouse.TestWarehouseAccessories()
        self.sub_test_warehouse_accessories = QMdiSubWindow()
        self.sub_test_warehouse_accessories.setWidget(self.test_warehouse_accessories)
        self.mdi.addSubWindow(self.sub_test_warehouse_accessories)
        self.sub_test_warehouse_accessories.resize(self.test_warehouse_accessories.size())
        self.sub_test_warehouse_accessories.show()

    def view_test_fast_warehouse(self):
        self.test_fast_warehouse = test_warehouse.TestFastWarehouse()
        self.sub_test_fast_warehouse = QMdiSubWindow()
        self.sub_test_fast_warehouse.setWidget(self.test_fast_warehouse)
        self.mdi.addSubWindow(self.sub_test_fast_warehouse)
        self.sub_test_fast_warehouse.resize(self.test_fast_warehouse.size())
        self.sub_test_fast_warehouse.show()

    def view_beika(self):
        self.beika = beika.BeikaList()
        self.sub_beika = QMdiSubWindow()
        self.sub_beika.setWidget(self.beika)
        self.mdi.addSubWindow(self.sub_beika)
        self.sub_beika.resize(self.beika.size())
        self.sub_beika.show()

    def view_supply_material(self):
        self.supply_material = supply_material.MaterialSupplyList()
        self.sub_supply_material = QMdiSubWindow()
        self.sub_supply_material.setWidget(self.supply_material)
        self.mdi.addSubWindow(self.sub_supply_material)
        self.sub_supply_material.resize(self.supply_material.size())
        self.sub_supply_material.show()

    def view_supply_accessories(self):
        self.supply_accessories = supply_accessories.AccessoriesSupplyList()
        self.sub_supply_accessories = QMdiSubWindow()
        self.sub_supply_accessories.setWidget(self.supply_accessories)
        self.mdi.addSubWindow(self.sub_supply_accessories)
        self.sub_supply_accessories.resize(self.supply_accessories.size())
        self.sub_supply_accessories.show()

    def view_scan_pack(self):
        self.scan_pack = scan_pack.ScanPack()
        self.sub_scan_pack = QMdiSubWindow()
        self.sub_scan_pack.setWidget(self.scan_pack)
        self.mdi.addSubWindow(self.sub_scan_pack)
        self.sub_scan_pack.resize(self.scan_pack.size())
        self.sub_scan_pack.show()

    def view_settings_access(self):
        self.settings_access = settings_access.Access()
        self.sub_settings_access = QMdiSubWindow()
        self.sub_settings_access.setWidget(self.settings_access)
        self.mdi.addSubWindow(self.sub_settings_access)
        self.sub_settings_access.resize(self.settings_access.size())
        self.sub_settings_access.show()

    def view_report_need_article_order(self):
        self.report_need_article = report_order.NeedArticleOrder()
        self.sub_report_need_article = QMdiSubWindow()
        self.sub_report_need_article.setWidget(self.report_need_article)
        self.mdi.addSubWindow(self.sub_report_need_article)
        self.sub_report_need_article.resize(self.report_need_article.size())
        self.sub_report_need_article.show()

    def view_report_supply(self):
        self.report_supply = report_supply.ReportSupply()
        self.sub_report_supply = QMdiSubWindow()
        self.sub_report_supply.setWidget(self.report_supply)
        self.mdi.addSubWindow(self.sub_report_supply)
        self.sub_report_supply.resize(self.report_supply.size())
        self.sub_report_supply.show()

    def view_report_cost_article(self):
        self.report_cost_article = report_cost_article.ReportCostArticle()
        self.sub_report_cost_article = QMdiSubWindow()
        self.sub_report_cost_article.setWidget(self.report_cost_article)
        self.mdi.addSubWindow(self.sub_report_cost_article)
        self.sub_report_cost_article.resize(self.report_cost_article.size())
        self.sub_report_cost_article.show()

    def view_report_sibestoimost(self):
        self.report_sibest = report_sibestoimost.ReportSibestoimost()
        self.sub_report_sibest = QMdiSubWindow()
        self.sub_report_sibest.setWidget(self.report_sibest)
        self.mdi.addSubWindow(self.sub_report_sibest)
        self.sub_report_sibest.resize(self.report_sibest.size())
        self.sub_report_sibest.show()

    def view_report_rest_for_work(self):
        self.report_rest_work = report_rest_work.ReportRestWork()
        self.sub_report_rest_work = QMdiSubWindow()
        self.sub_report_rest_work.setWidget(self.report_rest_work)
        self.mdi.addSubWindow(self.sub_report_rest_work)
        self.sub_report_rest_work.resize(self.report_rest_work.size())
        self.sub_report_rest_work.show()

    def view_report_pack_accept(self):
        self.report_pack_accept = report_accept_pack.ReportAcceptPack()
        self.sub_report_pack_accept = QMdiSubWindow()
        self.sub_report_pack_accept.setWidget(self.report_pack_accept)
        self.mdi.addSubWindow(self.sub_report_pack_accept)
        self.sub_report_pack_accept.resize(self.report_pack_accept.size())
        self.sub_report_pack_accept.show()

    def view_report_material_consumption(self):
        self.report_material_consumption = report_material_consumption.ReportMaterialConsumption()
        self.sub_report_material_consumption = QMdiSubWindow()
        self.sub_report_material_consumption.setWidget(self.report_material_consumption)
        self.mdi.addSubWindow(self.sub_report_material_consumption)
        self.sub_report_material_consumption.resize(self.report_material_consumption.size())
        self.sub_report_material_consumption.show()

    def view_report_profit(self):
        self.report_profit = report_profit.ReportProfit()
        self.sub_report_profit = QMdiSubWindow()
        self.sub_report_profit.setWidget(self.report_profit)
        self.mdi.addSubWindow(self.sub_report_profit)
        self.sub_report_profit.resize(self.report_profit.size())
        self.sub_report_profit.show()

    def view_report_performance_company(self):
        self.report_performance_company = report_performance_company.ReportPerformanceCompany()
        self.sub_report_performance_company = QMdiSubWindow()
        self.sub_report_performance_company.setWidget(self.report_performance_company)
        self.mdi.addSubWindow(self.sub_report_performance_company)
        self.sub_report_performance_company.resize(self.report_performance_company.size())
        self.sub_report_performance_company.show()

    def view_report_shipped_customer(self):
        self.report_shipped_customer = report_shipped_to_customer.ReportShippedCustomer()
        self.sub_report_shipped_customer = QMdiSubWindow()
        self.sub_report_shipped_customer.setWidget(self.report_shipped_customer)
        self.mdi.addSubWindow(self.sub_report_shipped_customer)
        self.sub_report_shipped_customer.resize(self.report_shipped_customer.size())
        self.sub_report_shipped_customer.show()

    def view_report_warehouse_balance_date(self):
        self.report_warehouse_balance_date = report_warehouse_balance_date.ReportWarehouseBalanceDate()
        self.sub_report_warehouse_balance_date = QMdiSubWindow()
        self.sub_report_warehouse_balance_date.setWidget(self.report_warehouse_balance_date)
        self.mdi.addSubWindow(self.sub_report_warehouse_balance_date)
        self.sub_report_warehouse_balance_date.resize(self.report_warehouse_balance_date.size())
        self.sub_report_warehouse_balance_date.show()

    def view_report_reject(self):
        self.report_reject = report_reject.ReportReject()
        self.sub_report_reject = QMdiSubWindow()
        self.sub_report_reject.setWidget(self.report_reject)
        self.mdi.addSubWindow(self.sub_report_reject)
        self.sub_report_reject.resize(self.report_reject.size())
        self.sub_report_reject.show()

    def view_report_all(self):
        self.report_all = report_all.ReportAll()
        self.sub_view_report_all = QMdiSubWindow()
        self.sub_view_report_all.setWidget(self.report_all)
        self.mdi.addSubWindow(self.sub_view_report_all)
        self.sub_view_report_all.resize(self.report_all.size())
        self.sub_view_report_all.show()

    def view_report_nalog(self):
        self.report_nalog = report_nalog.ReportNalog()
        self.sub_report_nalog = QMdiSubWindow()
        self.sub_report_nalog.setWidget(self.report_nalog)
        self.mdi.addSubWindow(self.sub_report_nalog)
        self.sub_report_nalog.resize(self.report_nalog.size())
        self.sub_report_nalog.show()

    def view_report_article_day(self):
        self.report_article_day = report_article_day.ReportArticleDay()
        self.sub_report_article_day = QMdiSubWindow()
        self.sub_report_article_day.setWidget(self.report_article_day)
        self.mdi.addSubWindow(self.sub_report_article_day)
        self.sub_report_article_day.resize(self.report_article_day.size())
        self.sub_report_article_day.show()

    def view_material_in_pack(self):
        self.material_in_pack = material_in_pack.MaterialInPack()
        self.sub_material_in_pack = QMdiSubWindow()
        self.sub_material_in_pack.setWidget(self.material_in_pack)
        self.mdi.addSubWindow(self.sub_material_in_pack)
        self.sub_material_in_pack.resize(self.material_in_pack.size())
        self.sub_material_in_pack.show()

    def view_shipment_order(self):
        self.shipment_order = shipment_order.ShipmentOrder()
        self.sub_shipment_order = QMdiSubWindow()
        self.sub_shipment_order.setWidget(self.shipment_order)
        self.mdi.addSubWindow(self.sub_shipment_order)
        self.sub_shipment_order.resize(self.shipment_order.size())
        self.sub_shipment_order.show()

    def view_test_window(self):
        self.test_window = test_window.TestWindow()
        self.sub_test_window = QMdiSubWindow()
        self.sub_test_window.setWidget(self.test_window)
        self.mdi.addSubWindow(self.sub_test_window)
        self.sub_test_window.resize(self.test_window.size())
        self.sub_test_window.show()

    def login_access(self):
        self.logger.info(u"[Пользователь {:04d}] {}".format(User().id(), "Зашел в программу"))
        self.statusBar().showMessage("Вы вошли как -= %s =-" % User().position_name())
        self.setEnabled(True)
        self.setFocus()
        self.access()

    def admin_login(self):
        self.statusBar().showMessage("Вы вошли как -= %s =-" % User().position_name())
        self.setEnabled(True)
        self.setFocus()
        self.access()

    def beika_no_finished(self):
        query = """SELECT COUNT(*) FROM beika WHERE Finished = 0"""
        sql_info = my_sql.sql_select(query)
        if "mysql.connector.errors" in str(type(sql_info)):
            beika_txt = "error sql"
        else:
            beika_txt = "Не зкарыто бейки: " + str(sql_info[0][0])
        beika = QLabel(beika_txt)
        self.statusBar().addPermanentWidget(beika)

    def closeEvent(self, e):
        try:
            self.logger.info(u"[Пользователь {:04d}] {}".format(User().id(), "Вышел из программы"))
        except:
            print("Нет логина")

        e.accept()
        self.close()
        self.destroy()
        sys.exit()

    def arg_FS(self):
        self.setWindowState(Qt.WindowMaximized)