Beispiel #1
0
 def __init__(self, parent=None):
     super().__init__(parent)
     self.ui = Ui_MainWindow()
     self.ui.setupUi(self)
     # try connection
     self.settings = QSettings('elektroNIK', 'P3DA')
     self.con = Connection(baud=38400)
     self.devs = self.detectdevices()
     if self.devs:
         self.con.createconnection(self.devs[0])
     msg = 'Connected to {}'.format(
         self.con.dev) if self.con.con else 'No serial adapter found!'
     self.ui.statusbar.showMessage(msg)
     # corrections
     self.gamma = self.ui.doubleSpinBox_gamma.value()
     r = self.ui.horizontalSlider_wb_r.value()
     g = self.ui.horizontalSlider_wb_g.value()
     b = self.ui.horizontalSlider_wb_b.value()
     self.wb = {'R': r, 'G': g, 'B': b}
     # initializing classes
     self.tablight = TabLight(self)
     self.tabilumination = TabIlumination(self)
     self.tabsound = TabSound(self)
     self.tabextbacklight = TabExtBacklight(self)
     self.tabsetup = TabSetup(self)
     # restoring
     self.restoresettings()
     self.tablight.updatepalette()
     # init
     self.ui.tabWidget.currentChanged.connect(self.updatetab)
     self.updatetab(self.ui.tabWidget.currentIndex())
Beispiel #2
0
 def __init__(self, parent=None):
     """Constructor"""
     super().__init__(parent)
     self.__ui = Ui_MainWindow()
     self.__ui.setupUi(self)
     self.__ui.tabWidget.setTabsClosable(True)
     self.__ui.tabWidget.setMovable(True)
Beispiel #3
0
    def __init__(self):
        QtWidgets.QMainWindow.__init__(self)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        self.sports = []
        self.ui.add_btn.clicked.connect(self._newForm)

        self.ui.item1 = QtWidgets.QListWidgetItem("Events")
        self.ui.main_list.addItem(self.ui.item1)
        self.ui.item2 = QtWidgets.QListWidgetItem("Results")
        self.ui.main_list.addItem(self.ui.item2)
        self.ui.main_list.itemClicked.connect(self._mainClicked)

        self.manager = QtNetwork.QNetworkAccessManager()
        self.sport_req = QtNetwork.QNetworkRequest(QtCore.QUrl("API URL"))
        self.sport_reply = self.manager.get(self.sport_req)
        self.sport_reply.finished.connect(self._sportsReply)

        self.ui.sport_combo.activated.connect(self._mainReq)
        self.ui.subClass_list.itemClicked.connect(self._loadForm)
        self.sport_dic = {}
        self.loaded = []
        self.resizeTimer = QtCore.QTimer()
        self.resizeTimer.setSingleShot(True)
        self.resizeTimer.timeout.connect(self.tryResize)
    def __init__(self, data_singleton, parent=None):
        super().__init__(parent)

        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        self.data_singleton = data_singleton

        self.mUndoStackGroup = QUndoGroup(self)

        self.mUndoStackGroup.canUndoChanged.connect(self.can_undo_changed)
        self.mUndoStackGroup.canRedoChanged.connect(self.can_redo_changed)

        self.can_undo_changed(self.mUndoStackGroup.canUndo())
        self.can_redo_changed(self.mUndoStackGroup.canRedo())

        self.ui.actionUndo.triggered.connect(self.mUndoStackGroup.undo)
        self.ui.actionRedo.triggered.connect(self.mUndoStackGroup.redo)

        self.ui.actionSave.triggered.connect(self.save)
        self.ui.actionSaveAs.triggered.connect(self.save_as)
        self.ui.actionNew.triggered.connect(self.new_tab)
        self.ui.actionOpen.triggered.connect(self.open)

        self.ui.actionSettings.triggered.connect(self.show_settings)

        self.ui.actionPlugin_Manager.triggered.connect(self.show_plugin_manager)

        self.ui.tabWidget.currentChanged.connect(self.activate_tab)
        self.ui.tabWidget.currentChanged.connect(self.send_tab_changed)

        self.ui.tabWidget.tabCloseRequested.connect(self.close_tab)

        self.update_states()
Beispiel #5
0
    def __init__(self):
        QDialog.__init__(
            self
        )  # Constructs a dialog with parent parent. self being ImageDailog
        # Set up the UI from Designer:
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.ui.graphicsView.DontAdjustForAntialiasing  #seems to help fix artifacts left by mouse track markers
        #make a scene:
        self.scene = QtGui.QGraphicsScene()

        #set it to show in the graphicsview window:
        self.ui.graphicsView.setScene(self.scene)
        self.items = [QtGui.QGraphicsTextItem(),
                      QtGui.QGraphicsRectItem()
                      ]  #for squares and indexes that follow mouse
        self.ui.graphicsView.viewport().installEventFilter(
            self)  #for mouse functions
        #Setup IO table on right
        self.ui.tableWidget.resizeColumnToContents(0)
        self.ui.tableWidget.resizeColumnToContents(1)
        self.ui.tableWidget.setColumnWidth(2, 50)
        self.ui.tableWidget.setColumnWidth(3, 40)

        #setup datagrid and elements:
        self.Tools = elementList(elementStruct)
        self.setupDataGrid()  #set up rung variables:
        self.signalConnections()

        #default:
        self.currentHW = "Waltech"
        self.projectName = None
        self.currentFileDir = None
Beispiel #6
0
    def __init__(self):
        super().__init__()

        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        # Все действия к прикрепляемым окнам поместим в меню
        for dock in self.findChildren(QDockWidget):
            self.ui.menuDockWindow.addAction(dock.toggleViewAction())

        # Все действия к toolbar'ам окнам поместим в меню
        for tool in self.findChildren(QToolBar):
            self.ui.menuTools.addAction(tool.toggleViewAction())

        self.model = QStandardItemModel()
        self.clear_model()

        self.ui.treeView.setModel(self.model)

        self.ui.treeView.clicked.connect(lambda: self.show_info_in_status_bar)
        self.ui.treeView.doubleClicked.connect(lambda: self.show_in_explorer())

        self.ui.button_select_dir.clicked.connect(self.select_dir)
        self.ui.action_go.triggered.connect(self.fill)
        self.ui.action_show_in_explorer.triggered.connect(
            lambda: self.show_in_explorer())
        self.ui.action_apply_filter.triggered.connect(self.slot_remove_dirs)
        self.ui.label_root_dir.setText(self.ui.line_edit_dir_path.text())

        self.ui.action_apply_filter.setEnabled(False)

        self.read_settings()
Beispiel #7
0
 def __init__(self, parent=None):
     QtGui.QWidget.__init__(self, parent)
     self.ui = Ui_MainWindow()
     self.ui.setupUi(self)
     QtCore.QObject.connect(self.ui.btnFileBrowser, QtCore.SIGNAL("clicked()"), self.selectFile)
     QtCore.QObject.connect(self.ui.btnDirBrowser, QtCore.SIGNAL("clicked()"), self.selectDir)
     QtCore.QObject.connect(self.ui.btnFilterFile, QtCore.SIGNAL("clicked()"), self.playFile)
     QtCore.QObject.connect(self, QtCore.SIGNAL("triggered()"), self.closeWindow)
Beispiel #8
0
 def __init__(self):
     super(MainWindow, self).__init__()
     self.database = products.database
     self.ui = Ui_MainWindow()
     self.ui.setupUi(self)
     self.initSignals()
     self.key_buf = []
     self.ui.codeBox.setFocus()
     self.total_price = 0
    def __init__(self):
        super().__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        centralWidget = QWidget()
        self.setCentralWidget(centralWidget)
        gridLayout = QGridLayout(centralWidget)
        gridLayout.addWidget(self.ui.label, 0, 0, alignment=Qt.AlignCenter)
        gridLayout.addWidget(self.ui.pushButton, 1, 0)
Beispiel #10
0
 def __init__(self, parent=None):
     super().__init__(parent)
     self.__ui = Ui_MainWindow()
     self.__ui.setupUi(self)
     self.setWindowTitle('QDialog Test')
     self.__ui.msgWarning.clicked.connect(self.show_warning_msgbox)
     self.__ui.msgCritical.clicked.connect(self.show_critical_msgbox)
     self.__ui.msgQuestion.clicked.connect(self.show_question_msgbox)
     self.__ui.msgInformation.clicked.connect(self.show_information_msgbox)
     self.__ui.msgNoIcon.clicked.connect(self.show_regular_msgbox)
Beispiel #11
0
 def __init__(self, parent=None):
     super(MainWindow, self).__init__(parent)
     self.ui_controller = Ui_MainWindow()
     self.ui_controller.setupUi(self)
     self.connect()
     self.ui_controller.matplotlibWidget.connect()
     self.init_style_menu()
     self.init_indicator_menu()
     self.init_strategy_panel()
     self.ui_controller.dateStartEdit.setDateTime(datetime(1990,1,1))
     self.ui_controller.dateEndEdit.setDateTime(datetime.now())
     self.df = None
    def __init__(self, parent=None):
        super().__init__(parent)

        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        self.setWindowTitle('Preparation description tag stackoverflow')

        # Все действия к прикрепляемым окнам поместим в меню
        for dock in self.findChildren(QDockWidget):
            self.ui.menuDockWindow.addAction(dock.toggleViewAction())

        # Все действия к toolbar'ам окнам поместим в меню
        for tool in self.findChildren(QToolBar):
            self.ui.menuTools.addAction(tool.toggleViewAction())

        self.ui.action_save.triggered.connect(self.save)
        self.ui.action_save_all.triggered.connect(self.save_all)

        self.ui.ref_guide.textChanged.connect(self.ref_guide_text_changed)
        self.ui.description.textChanged.connect(self.description_text_changed)

        # TODO: при изменении тега менять и окно с его содержимым -- plain_text_edit_tag_info
        # TODO: заменить модель комбобокса нашим списком
        self.tags_dict = dict()
        self.modified_tags = list()

        # Словарь, ключом, которого id тега, а значением -- элемент списка
        self.tag_id_item_dict = dict()

        self.tag_list_model = QStandardItemModel()
        self.modified_tags_model = QStandardItemModel()

        self.ui.list_view_tag_list.setModel(self.tag_list_model)
        self.ui.list_view_modified_tags.setModel(self.modified_tags_model)

        self.ui.list_view_tag_list.clicked.connect(
            self.list_view_tag_list_clicked)
        self.ui.list_view_modified_tags.clicked.connect(
            self.list_view_modified_tags_clicked)

        self.ui.check_box_only_empty.clicked.connect(
            self.filter_list_tag_only_empty)

        # TODO: добавить кнопку для постинга изменений тега. Перед постингом нужно авторизоваться
        # получить текущее состояние и сравнить с новым -- может кто-то что-то добавил и
        # если оно было лучше, того, что я хочу добавить, получится не хорошо

        # TODO: кнопка сохранения всех измененных тегов

        self.update_states()
Beispiel #13
0
 def __init__(self, parent=None):
     #super(main_window, self.__init__(parent))
     QWidget.__init__(self, parent)
     #Importing UI
     self.ui = Ui_MainWindow()
     self.ui.setupUi(self)
     #Setting up Initials
     # print("Constructor Called")
     self.setFixedSize(1024, 640)
     self.ui.pushButton.setFocusPolicy(Qt.NoFocus)
     self.move(QApplication.desktop().screen().rect().center() -
               self.rect().center())
     self.setWindowTitle("NIDS")
     self.connect(self.ui.pushButton, SIGNAL("clicked()"),
                  lambda: self.clicked())
Beispiel #14
0
 def setup_ui(self):
     self.ui = Ui_MainWindow()
     self.ui.setupUi(self)
     # auto complete
     self.auto_com_init()
     self.ui.ol_cb.setChecked(False)
     darkula = QPalette()
     # theme
     darkula.setColor(QPalette.Background, QColor('#300A24'))
     darkula.setColor(QPalette.Base, QColor('#300A24'))
     self.ui.textBrowser.setPalette(darkula)
     # status bar
     self.ui.statusbar.showMessage('@2016 Chestnut Studio')
     # signal slot
     self.ui.lineEdit.returnPressed.connect(self.search_bt_clicked)
     self.ui.search_b.clicked.connect(self.search_bt_clicked)
     self.ui.detail_rb.clicked.connect(self.detail_rb_clicked)
     self.ui.intro_rb.clicked.connect(self.intro_rb_clicked)
Beispiel #15
0
    def __init__(self):
        QtWidgets.QMainWindow.__init__(self)
        Ui_MainWindow.__init__(self)
        self.global_start_time = time.strftime('%Y%m%d_%H%M')
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        self.setWindowTitle("OptoWorld")
        self.start_mqtt()

        self.ui.button_lightswitch.clicked.connect(self.button_clicked)
        self.ui.actionedit_light_profile.triggered.connect(
            self.edit_light_profile)
        self.ui.actionshow_live_graphs.triggered.connect(
            self.toggle_live_graphs)
        self.make_graphs()

        if not os.path.exists(f"{HOME}/optoworld_logs"):
            os.mkdir(f"{HOME}/optoworld_logs")
Beispiel #16
0
    def __init__(self):
        super().__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.ui.de_start.setDate(QtCore.QDate().currentDate())
        self.ui.de_stop.setDate(QtCore.QDate().currentDate())
        self.ui.cb_whocalled.setVisible(False)
        self.ui.btn_report.setVisible(False)
        self.ui.tab_2.setEnabled(False)
        self.mango = MangoOffice()
        self.dframe = PandasDataFrame()

        # connections
        self.ui.btn_connection.clicked.connect(self.connection)
        self.ui.btn_download.clicked.connect(self.feel_table)
        self.ui.cb_whocalledtype.currentIndexChanged.connect(
            self.who_called_type_change)
        self.ui.cb_ats.currentIndexChanged.connect(self.who_called_type_change)
        self.ui.btn_clear.clicked.connect(self.btn_clear_click)
        self.ui.de_start.dateChanged.connect(self.de_start_date_change)
        self.ui.de_stop.dateChanged.connect(self.de_stop_date_change)
        self.ui.btn_report.clicked.connect(self.export_to_xls)
Beispiel #17
0
    def __init__(self):
        super(MyWindow, self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.init_logger()
        self.init_project_table()
        self.settings()

        self.logger.info("Program started")
        self.tia = TiaHandler()
        # self.templater = Templater()
        # self.templater.new_template('Test_temp')
        self.main_slots()  # Подключаем слоты

        self.model = QtGui.QStandardItemModel()
        self.ui.project_tree.setModel(self.model)
        self.ui.project_tree.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
        self.model.setHorizontalHeaderLabels(['Дерево проекта'])
        self.ui.project_tree.setModel(self.model)
        self.ui.new_folder_action.setEnabled(False)
        self.ui.sync_action.setEnabled(False)
        self.ui.import_action.setEnabled(False)
        self.ui.export_action.setEnabled(False)
Beispiel #18
0
 def __init__(self, parent=None):
     super().__init__(parent)
     self.__ui = Ui_MainWindow()
     self.__ui.setupUi(self)
Beispiel #19
0
        access_info = json.loads(json_file.read())

    access_key = access_info["access_key"]
    secret_key = access_info["secret_key"]
    server_url = "https://api.upbit.com"

    # 외부 개인지갑 암호화폐 보유 갯수
    external_wallet_amount = access_info['external_wallet_amount']
    fOriginalFiatBalance = access_info["original_fiat_balance"]

    myApp = QtWidgets.QApplication(sys.argv)
    obj = UpbitRebalancing(secret_key, access_key, server_url,
                           external_wallet_amount)

    form = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(form)

    def onChkShowBalanceStateChanged(btnChkState):
        if (btnChkState == Qt.Checked):
            ui.lblCryptoBalance.setHidden(False)
            ui.lblFiatBalance.setHidden(False)
            ui.lblOriBalance.setHidden(False)
        else:
            ui.lblCryptoBalance.setHidden(True)
            ui.lblFiatBalance.setHidden(True)
            ui.lblOriBalance.setHidden(True)

    def onStyleSheetChanged(strStyleSheet):
        myApp.setStyleSheet(strStyleSheet)
Beispiel #20
0
class MainWindow(QMainWindow):
    ui = Ui_MainWindow()
    time_seq = None

    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent=parent)
        self.ui.setupUi(self)

        self.ui.leModel.setText(globaldefines.model)
        self.ui.leModel.setReadOnly(True)
        self.ui.leModel.setEnabled(False)

        self.ui.lePath.setText(globaldefines.path)
        self.ui.lePath.setReadOnly(True)
        self.ui.lePath.setEnabled(False)

        self.ui.leName.setText(globaldefines.output_name)
        self.ui.leName.setReadOnly(True)
        self.ui.leName.setEnabled(False)

        self.ui.leVersion.setText(globaldefines.output_version_str())
        self.ui.leVersion.setReadOnly(True)
        self.ui.leVersion.setEnabled(False)

        self.ui.leSupport.setText('')
        self.ui.leSupport.setReadOnly(True)
        self.ui.leSupport.setEnabled(False)

        self.ui.leDone.setText('')
        self.ui.leDone.setReadOnly(True)
        self.ui.leDone.setEnabled(False)

        self.ui.lstFiles.itemClicked.connect(self.on_lstFiles_itemClicked)

    @pyqtSlot()
    def slotShow(self):
        self.show()

        self.ui.leModel.setText(globaldefines.model)
        self.ui.leName.setText(globaldefines.output_name)
        self.ui.leVersion.setText(globaldefines.output_version_str())

        self.time_seq = TimeSeq(globaldefines.path)

        self.time_seq.sig_support_done.connect(self.slot_timeseq_support_done)
        self.time_seq.sig_write_done.connect(self.slot_timeseq_write_done)
        self.time_seq.sig_init.connect(self.slot_timeseq_init)
        self.time_seq.sig_uninit.connect(self.slot_timeseq_uninit)
        self.time_seq.sig_changed.connect(self.slot_timeseq_changed)

        self.time_seq.start()

    @pyqtSlot(str)
    def slot_timeseq_init(self, file_path):
        globaldefines.other_trace()
        find_items = self.ui.lstFiles.findItems(file_path, Qt.MatchStartsWith)
        if len(find_items) != 0:
            globaldefines.other_trace("slot_timeseq_init but count incorrect")
        self.ui.lstFiles.addItem(file_path + '-init')

    @pyqtSlot(str)
    def slot_timeseq_uninit(self, file_path):
        globaldefines.other_trace()
        find_items = self.ui.lstFiles.findItems(file_path, Qt.MatchStartsWith)
        for find_item in find_items:
            self.ui.lstFiles.removeItemWidget(find_item)

    @pyqtSlot(str)
    def slot_timeseq_changed(self, file_path):
        globaldefines.other_trace()
        find_items = self.ui.lstFiles.findItems(file_path, Qt.MatchStartsWith)
        if len(find_items) != 1:
            globaldefines.other_trace("%s not found or too much")
        find_items[0].setText(file_path + '-' +
                              self.time_seq.get_status(file_path))

    def on_lstFiles_itemClicked(self, current):
        globaldefines.other_trace()
        file_path = current.text()[0:current.text().find('-')]
        self.ui.lstInfo.clear()
        infos = self.time_seq.get_info(file_path)
        for info in infos:
            self.ui.lstInfo.addItem(str(info))

    @pyqtSlot(str)
    def slot_timeseq_support_done(self, support_info):
        self.ui.leSupport.setText(support_info)

    @pyqtSlot(str)
    def slot_timeseq_write_done(self, done_info):
        self.ui.leDone.setText(done_info)
Beispiel #21
0
 def __init__(self, parent=None):
     """Constructor"""
     super().__init__(parent)
     self.__ui = Ui_MainWindow()
     self.__ui.setupUi(self)
 def setUp(self):
     self.mainwindow = QMainWindow() # create empty QMainWindow
     self.ui = Ui_MainWindow() # we want to test GUI - only
     self.ui.setupUi(self.mainwindow) # set GUI for freshly created QMainWindow
Beispiel #23
0
    def __init__(self):
        super(mywindow, self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        # Соединения кнопок меню
        self.ui.exit.triggered.connect(qApp.quit)
        self.ui.ports.triggered.connect(self.ports_open)
        self.ui.graph.triggered.connect(self.graph_open)

        self.plots = [self.ui.MplWidget_1,
                      self.ui.MplWidget_2,
                      self.ui.MplWidget_3,
                      self.ui.MplWidget_4,
                      self.ui.MplWidget_5,
                      self.ui.MplWidget_6,
                      self.ui.MplWidget_7,
                      self.ui.MplWidget_8,
                      self.ui.MplWidget_9,
                      self.ui.MplWidget_10]

        # Инициализация навигационных баров для графиков
        self.plotNavs = [NavigationToolbar(self.plots[0].canvas, self),
                         NavigationToolbar(self.plots[1].canvas, self),
                         NavigationToolbar(self.plots[2].canvas, self),
                         NavigationToolbar(self.plots[3].canvas, self),
                         NavigationToolbar(self.plots[4].canvas, self),
                         NavigationToolbar(self.plots[5].canvas, self),
                         NavigationToolbar(self.plots[6].canvas, self),
                         NavigationToolbar(self.plots[7].canvas, self),
                         NavigationToolbar(self.plots[8].canvas, self),
                         NavigationToolbar(self.plots[9].canvas, self)]
        for navBar in self.plotNavs:
            self.addToolBar(QtCore.Qt.BottomToolBarArea, navBar)
            navBar.toggleViewAction().trigger()
            navBar.toggleViewAction().trigger()
        self.plotNavs[0].toggleViewAction().trigger()
        self.ui.tabWidget.currentChanged.connect(self.tab_changed)
        self.update_tab_graph(0)

        # QThreads for serial port
        try:
            with open('port_configuration.cfg', 'r') as f:
                lines = f.readlines()
                f.close()
        except FileNotFoundError:
            print('File port_configuration.cfg not found')
        self.worker1 = SerialWorker(1, lines[0][:-1], lines[1][:-1])
        self.worker2 = SerialWorker(2, lines[5][:-1], lines[6][:-1])
        self.worker3 = SerialWorker(3, lines[10][:-1], lines[11][:-1])
        self.worker4 = SerialWorker(4, lines[15][:-1], lines[16][:-1])
        self.worker5 = SerialWorker(5, lines[20][:-1], lines[21][:-1])
        self.worker6 = SerialWorker(6, lines[25][:-1], lines[26][:-1])
        self.worker7 = SerialWorker(7, lines[30][:-1], lines[31][:-1])
        self.worker8 = SerialWorker(8, lines[35][:-1], lines[36][:-1])
        self.worker9 = SerialWorker(9, lines[40][:-1], lines[41][:-1])
        self.worker10 = SerialWorker(10, lines[45][:-1], lines[46][:-1])

        self.worker1.moveToThread(self.thread1)
        self.thread1.started.connect(self.worker1.task)
        self.thread1.start()

        self.worker2.moveToThread(self.thread2)
        self.thread2.started.connect(self.worker2.task)
        self.thread2.start()

        self.worker3.moveToThread(self.thread3)
        self.thread3.started.connect(self.worker3.task)
        self.thread3.start()

        self.worker4.moveToThread(self.thread4)
        self.thread4.started.connect(self.worker4.task)
        self.thread4.start()

        self.worker5.moveToThread(self.thread5)
        self.thread5.started.connect(self.worker5.task)
        self.thread5.start()

        self.worker6.moveToThread(self.thread6)
        self.thread6.started.connect(self.worker6.task)
        self.thread6.start()

        self.worker7.moveToThread(self.thread7)
        self.thread7.started.connect(self.worker7.task)
        self.thread7.start()

        self.worker8.moveToThread(self.thread8)
        self.thread8.started.connect(self.worker8.task)
        self.thread8.start()

        self.worker9.moveToThread(self.thread9)
        self.thread9.started.connect(self.worker9.task)
        self.thread9.start()

        self.worker10.moveToThread(self.thread10)
        self.thread10.started.connect(self.worker10.task)
        self.thread10.start()

        # Инициализируем QSystemTrayIcon
        self.tray_icon = QSystemTrayIcon(self)
        self.tray_icon.setIcon(QtGui.QIcon('lines.png'))
        show_action = QAction("Показать", self)
        quit_action = QAction("Выход", self)
        hide_action = QAction("Спрятать", self)
        show_action.triggered.connect(self.show)
        hide_action.triggered.connect(self.hide)
        quit_action.triggered.connect(qApp.quit)
        tray_menu = QMenu()
        tray_menu.addAction(show_action)
        tray_menu.addAction(hide_action)
        tray_menu.addAction(quit_action)
        self.tray_icon.setContextMenu(tray_menu)
        self.tray_icon.show()
Beispiel #24
0
    def __init__(self):
        QMainWindow.__init__(self)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.setWindowIcon(QIcon(":/network.svg"))

        # fix stuff imposible to do in qtdesigner
        # remove dock titlebar for addressbar
        w = QWidget()
        self.ui.addrDockWidget.setTitleBarWidget(w)
        # tabify some docks
        self.tabifyDockWidget(self.ui.evDockWidget, self.ui.subDockWidget)
        self.tabifyDockWidget(self.ui.subDockWidget, self.ui.refDockWidget)

        # we only show statusbar in case of errors
        self.ui.statusBar.hide()

        # setup QSettings for application and get a settings object
        QCoreApplication.setOrganizationName("FreeOpcUa")
        QCoreApplication.setApplicationName("OpcUaClient")
        self.settings = QSettings()

        self._address_list = self.settings.value("address_list", [
            "opc.tcp://localhost:4840",
            "opc.tcp://localhost:53530/OPCUA/SimulationServer/"
        ])
        self._address_list_max_count = int(
            self.settings.value("address_list_max_count", 10))

        # init widgets
        for addr in self._address_list:
            self.ui.addrComboBox.insertItem(-1, addr)

        self.uaclient = UaClient()

        self.tree_ui = TreeWidget(self.ui.treeView)
        self.tree_ui.error.connect(self.show_error)
        self.refs_ui = RefsWidget(self.ui.refView)
        self.refs_ui.error.connect(self.show_error)
        self.attrs_ui = AttrsWidget(self.ui.attrView)
        self.attrs_ui.error.connect(self.show_error)
        self.datachange_ui = DataChangeUI(self, self.uaclient)
        self.event_ui = EventUI(self, self.uaclient)

        self.ui.addrComboBox.currentTextChanged.connect(self._uri_changed)
        self._uri_changed(self.ui.addrComboBox.currentText()
                          )  # force update for current value at startup

        self.ui.treeView.activated.connect(self.show_refs)
        self.ui.treeView.clicked.connect(self.show_refs)
        self.ui.actionCopyPath.triggered.connect(self.tree_ui.copy_path)
        self.ui.actionCopyNodeId.triggered.connect(self.tree_ui.copy_nodeid)
        # add items to context menu
        self.ui.treeView.addAction(self.ui.actionCopyPath)
        self.ui.treeView.addAction(self.ui.actionCopyNodeId)

        self.ui.treeView.activated.connect(self.show_attrs)
        self.ui.treeView.clicked.connect(self.show_attrs)
        self.ui.attrRefreshButton.clicked.connect(self.show_attrs)

        self.resize(int(self.settings.value("main_window_width", 800)),
                    int(self.settings.value("main_window_height", 600)))
        data = self.settings.value("main_window_state", None)
        if data:
            self.restoreState(data)

        self.ui.connectButton.clicked.connect(self.connect)
        self.ui.disconnectButton.clicked.connect(self.disconnect)
        # self.ui.treeView.expanded.connect(self._fit)

        self.ui.actionConnect.triggered.connect(self.connect)
        self.ui.actionDisconnect.triggered.connect(self.disconnect)

        self.ui.connectOptionButton.clicked.connect(
            self.show_connection_dialog)
Beispiel #25
0
    def __init__(self):
        super().__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        # fix stuff impossible to do in qtdesigner
        # remove dock titlebar for addressbar
        w = QWidget()
        self.ui.addrDockWidget.setTitleBarWidget(w)
        # add view actions in menu bar
        self.ui.menuView.addAction(self.ui.treeDockWidget.toggleViewAction())
        self.ui.menuView.addAction(self.ui.attrDockWidget.toggleViewAction())
        self.ui.menuView.addAction(self.ui.refDockWidget.toggleViewAction())
        self.ui.menuView.addAction(self.ui.logDockWidget.toggleViewAction())

        # we only show statusbar in case of errors
        self.ui.statusBar.hide()

        # setup QSettings for application and get a settings object
        QCoreApplication.setOrganizationName("UniCT")
        QCoreApplication.setApplicationName("OpcUaClient")
        self.settings = QSettings()
        self._address_list = self.settings.value("address_list", [
            "opc.tcp://localhost:4334/UA/NodeServer",
            "opc.tcp://localhost:51210/UA/SampleServer", "Clear all..."
        ])
        print("ADR", self._address_list)
        self._address_list_max_count = int(
            self.settings.value("address_list_max_count", 10))

        self.opc_ua_client = OpcUaClient()

        # URL ComboBox
        address_list_len = len(self._address_list)
        for index in range(address_list_len):
            self.ui.addrComboBox.insertItem(index, self._address_list[index])
            icon = "icons/server.svg" if index < address_list_len - 1 else "icons/x.svg"
            self.ui.addrComboBox.setItemIcon(index, QIcon(icon))

        self.ui.addrComboBox.currentTextChanged.connect(self.clear_addresses)
        self.ui.addrComboBox.lineEdit().returnPressed.connect(
            self.handle_connect)
        self.ui.addrComboBox.setCompleter(None)

        # Objects Tree
        self.tree_ui = TreeWidget(self.ui.treeView,
                                  self.opc_ua_client.custom_objects)
        self.tree_ui.error.connect(self.show_error)
        self.setup_context_menu_tree()
        self.ui.treeView.selectionModel().selectionChanged.connect(
            self.show_refs)
        self.ui.treeView.selectionModel().selectionChanged.connect(
            self.show_attrs)

        # Context Menu
        self.ui.actionCopyPath.triggered.connect(self.tree_ui.copy_path)
        self.ui.actionCopyNodeId.triggered.connect(self.tree_ui.copy_nodeid)
        self.ui.actionCall.triggered.connect(self.call_method)
        self.ui.actionReload.triggered.connect(self.tree_ui.reload_current)
        self.ui.actionAddMonitoredItem.triggered.connect(
            self.add_monitored_item)
        self.ui.actionDeleteMonitoredItem.triggered.connect(
            self.delete_monitored_item)

        # populate contextual menu
        self.addAction(self.ui.actionAddMonitoredItem)
        self.addAction(self.ui.actionDeleteMonitoredItem)

        # References Widget
        self.refs_ui = RefsWidget(self.ui.refView)
        self.refs_ui.error.connect(self.show_error)

        # Attributes Widget
        self.attrs_ui = AttrsWidget(self.ui.attrView)
        self.attrs_ui.error.connect(self.show_error)
        self._contextMenu.addSeparator()
        self._contextMenu.addAction(self.ui.actionReload)
        self.ui.attrRefreshButton.clicked.connect(self.show_attrs)

        # Tabs Widget
        self.ui.tabWidget.tabBar().tabButton(0, QTabBar.RightSide).resize(0, 0)
        self.ui.tabWidget.setTabEnabled(0, False)
        self.ui.noSubLabel.hide()
        self.subTabs = []
        self.datachange_uis = []
        self.previous_index = -1
        self.ui.tabWidget.tabBarClicked.connect(self.add_sub_tab)
        self.ui.tabWidget.currentChanged.connect(self.restore_index)
        self.ui.tabWidget.tabCloseRequested.connect(self.remove_sub_tab)

        # Connection Buttons
        self.ui.connectButton.clicked.connect(self.handle_connect)
        # self.ui.treeView.expanded.connect(self._fit)
        self.ui.settingsButton.clicked.connect(
            self.show_connect_settings_dialog)

        # Main Window
        self.resize(int(self.settings.value("main_window_width", 800)),
                    int(self.settings.value("main_window_height", 600)))
        data = self.settings.value("main_window_state", None)
        if data:
            self.restoreState(data)
Beispiel #26
0
 def __init__(self):
     QtGui.QMainWindow.__init__(self)
     self.ui = Ui_MainWindow()
     self.ui.setupUi(self)
     self.ui.pushButton_translate.clicked.connect(self.check)
Beispiel #27
0
 def __init__(self, parent=None):
     QtWidgets.QWidget.__init__(self, parent)
     self.ui = Ui_MainWindow()
     self.ui.setupUi(self)
Beispiel #28
0
    def __init__(self, app_name):
        super(MainWindow, self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        # canvas main window
        self.setWindowIcon(QIcon(cfg.ICONS.LOGO))
        self.canvas = Canvas()
        self.canvas.image = QImage(cfg.ICONS.BACKGROUND)
        self.canvas.zoomRequest.connect(self.zoomRequest)

        scroll = QScrollArea()
        scroll.setWidget(self.canvas)
        scroll.setWidgetResizable(True)
        self.scrollBars = {
            Qt.Vertical: scroll.verticalScrollBar(),
            Qt.Horizontal: scroll.horizontalScrollBar()
        }
        self.canvas.scrollRequest.connect(self.scrollRequest)
        self.ui.main_video_layout.addWidget(scroll)

        self.zoomWidget = ZoomWidget()
        zoom = QWidgetAction(self)
        zoom.setDefaultWidget(self.zoomWidget)
        self.zoomWidget.setWhatsThis(
            u"Zoom in or out of the image. Also accessible with"
            " %s and %s from the canvas." %
            (fmtShortcut("Ctrl+[-+]"), fmtShortcut("Ctrl+Wheel")))
        self.zoomWidget.setEnabled(False)

        self.scalers = {
            self.FIT_WINDOW:
            self.scaleFitWindow,
            self.FIT_WIDTH:
            self.scaleFitWidth,
            # Set to one to scale to 100% when loading files.
            self.MANUAL_ZOOM:
            lambda: 1,
        }
        self.zoomMode = self.FIT_WINDOW
        self.canvas.setEnabled(True)
        self.adjustScale(initial=True)
        self.paintCanvas()
        self.zoomWidget.valueChanged.connect(self.paintCanvas)
        self.resized.connect(self.adjustScale)
        # camera
        self.camera_device = CameraDevice(video_path=cfg.GLOBAL.VIDEO1)
        self.camera_device.newFrame.connect(self.onNewImage)
        self.camera_device.video_time_out.connect(self.clear)

        # top button functions
        self.ui.thread1_bn.clicked.connect(self.start_camera)
        self.ui.thread2_bn.clicked.connect(self.start_video1)
        self.ui.thread3_bn.clicked.connect(self.start_video2)
        self.ui.thread4_bn.clicked.connect(self.start_pic)
        self.ui.thread5_bn.clicked.connect(self.load_video)
        # left button functions
        self.ui.play_bn.clicked.connect(self.start_cap)
        self.ui.pause_bn.clicked.connect(self.stop_cap)
        self.ui.record_bn.clicked.connect(self.save_video)
        self.ui.exit_bn.clicked.connect(self.close)
        # right button functions
        self.ui.model1_bn.clicked.connect(self.apply_model1)
        self.ui.model2_bn.clicked.connect(self.apply_model2)
        self.ui.model3_bn.clicked.connect(self.apply_model3)
        self.ui.model4_bn.clicked.connect(self.apply_model4)
        self.ui.model5_bn.clicked.connect(self.apply_model5)

        # top button functions
        self.ui.thread1_bn.setIcon(QIcon(cfg.ICONS.TOP_LEFT1))
        self.ui.thread1_bn.setIconSize(
            QSize(cfg.ICONS.TOP_SIZE[0], cfg.ICONS.TOP_SIZE[1]))
        self.ui.thread2_bn.setIcon(QIcon(cfg.ICONS.TOP_LEFT2))
        self.ui.thread2_bn.setIconSize(
            QSize(cfg.ICONS.TOP_SIZE[0], cfg.ICONS.TOP_SIZE[1]))
        self.ui.thread3_bn.setIcon(QIcon(cfg.ICONS.TOP_LEFT3))
        self.ui.thread3_bn.setIconSize(
            QSize(cfg.ICONS.TOP_SIZE[0], cfg.ICONS.TOP_SIZE[1]))
        self.ui.thread4_bn.setIcon(QIcon(cfg.ICONS.TOP_LEFT4))
        self.ui.thread4_bn.setIconSize(
            QSize(cfg.ICONS.TOP_SIZE[0], cfg.ICONS.TOP_SIZE[1]))
        self.ui.thread5_bn.setIcon(QIcon(cfg.ICONS.TOP_LEFT5))
        self.ui.thread5_bn.setIconSize(
            QSize(cfg.ICONS.TOP_SIZE[0], cfg.ICONS.TOP_SIZE[1]))
        # left button functions
        self.ui.play_bn.setIcon(QIcon(cfg.ICONS.LEFT_TOP1))
        self.ui.play_bn.setIconSize(
            QSize(cfg.ICONS.LEFT_SIZE[0], cfg.ICONS.LEFT_SIZE[1]))
        self.ui.pause_bn.setIcon(QIcon(cfg.ICONS.LEFT_TOP2))
        self.ui.pause_bn.setIconSize(
            QSize(cfg.ICONS.LEFT_SIZE[0], cfg.ICONS.LEFT_SIZE[1]))
        self.ui.record_bn.setIcon(QIcon(cfg.ICONS.LEFT_TOP3))
        self.ui.record_bn.setIconSize(
            QSize(cfg.ICONS.LEFT_SIZE[0], cfg.ICONS.LEFT_SIZE[1]))
        self.ui.empty_bn.setIcon(QIcon(cfg.ICONS.LEFT_TOP4))
        self.ui.empty_bn.setIconSize(
            QSize(cfg.ICONS.LEFT_SIZE[0], cfg.ICONS.LEFT_SIZE[1]))
        self.ui.setting_bn.setIcon(QIcon(cfg.ICONS.LEFT_TOP5))
        self.ui.setting_bn.setIconSize(
            QSize(cfg.ICONS.LEFT_SIZE[0], cfg.ICONS.LEFT_SIZE[1]))
        self.ui.exit_bn.setIcon(QIcon(cfg.ICONS.LEFT_TOP6))
        self.ui.exit_bn.setIconSize(
            QSize(cfg.ICONS.LEFT_SIZE[0], cfg.ICONS.LEFT_SIZE[1]))
        # right button icons
        self.ui.model1_bn.setIcon(QIcon(cfg.ICONS.RIGHT_TOP1))
        self.ui.model1_bn.setIconSize(
            QSize(cfg.ICONS.RIGHT_SIZE[0], cfg.ICONS.RIGHT_SIZE[1]))
        self.ui.model2_bn.setIcon(QIcon(cfg.ICONS.RIGHT_TOP2))
        self.ui.model2_bn.setIconSize(
            QSize(cfg.ICONS.RIGHT_SIZE[0], cfg.ICONS.RIGHT_SIZE[1]))
        self.ui.model3_bn.setIcon(QIcon(cfg.ICONS.RIGHT_TOP3))
        self.ui.model3_bn.setIconSize(
            QSize(cfg.ICONS.RIGHT_SIZE[0], cfg.ICONS.RIGHT_SIZE[1]))
        self.ui.model4_bn.setIcon(QIcon(cfg.ICONS.RIGHT_TOP4))
        self.ui.model4_bn.setIconSize(
            QSize(cfg.ICONS.RIGHT_SIZE[0], cfg.ICONS.RIGHT_SIZE[1]))
        self.ui.model5_bn.setIcon(QIcon(cfg.ICONS.RIGHT_TOP5))
        self.ui.model5_bn.setIconSize(
            QSize(cfg.ICONS.RIGHT_SIZE[0], cfg.ICONS.RIGHT_SIZE[1]))

        # task special param
        self.image_render = GetImage()
        self.flag_savevideo = False
        self.info_header = u"Hello from PriVision!\n  "
        self.shown_info(self.info_header)
        self.allframes = []
        self.video_writer = None
        self.savevideo_counting = 0
        self.savevideo_max = cfg.GLOBAL.SAVE_VIDEO_MAX_SECOND
Beispiel #29
0
 def __setupUI(self):
     self.ui = Ui_MainWindow()
     self.ui.setupUi(self)
     self.setStyleSheet('')