Beispiel #1
0
    def setDefaultUi(self):
        self.version = self.findChild(QtWidgets.QLabel, 'version')
        self.version.setText("Mary 1.0.04")
        self.micButton = self.findChild(QtWidgets.QPushButton, 'micButton')
        self.Kelime_Label = self.findChild(QtWidgets.QLabel, 'Kelime_Label')
        self.Yanit_Label = self.findChild(QtWidgets.QLabel, 'Yanit_Label')
        self.Tip_Label = self.findChild(QtWidgets.QLabel, 'Tip_Label')
        self.Yanit_Layout = self.findChild(QtWidgets.QLayout,
                                           'horizontalLayout_2')
        self.Image_Label = self.findChild(QtWidgets.QLabel, 'Image_Label')
        self.sitelink1 = self.findChild(QtWidgets.QLabel, 'sitelink1')
        self.sitelink2 = self.findChild(QtWidgets.QLabel, 'sitelink2')
        self.sitelink3 = self.findChild(QtWidgets.QLabel, 'sitelink3')
        self.sitebaslik1 = self.findChild(QtWidgets.QLabel, 'sitebaslik1')
        self.sitebaslik2 = self.findChild(QtWidgets.QLabel, 'sitebaslik2')
        self.sitebaslik3 = self.findChild(QtWidgets.QLabel, 'sitebaslik3')
        self.sitebaslik1.setOpenExternalLinks(True)
        self.sitebaslik2.setOpenExternalLinks(True)
        self.sitebaslik3.setOpenExternalLinks(True)
        self.siteaciklama1 = self.findChild(QtWidgets.QLabel, 'siteaciklama1')
        self.siteaciklama2 = self.findChild(QtWidgets.QLabel, 'siteaciklama2')
        self.siteaciklama3 = self.findChild(QtWidgets.QLabel, 'siteaciklama3')
        self.web_sonuc1 = self.findChild(QtWidgets.QLayout, 'web_sonuc1')
        self.web_sonuc2 = self.findChild(QtWidgets.QLayout, 'web_sonuc2')
        self.web_sonuc3 = self.findChild(QtWidgets.QLayout, 'web_sonuc3')
        self.web_sonuc1.setSpacing(0)
        self.web_sonuc2.setSpacing(0)
        self.web_sonuc3.setSpacing(0)
        self.web_sonuc1.setContentsMargins(0, 0, 0, 0)
        self.web_sonuc2.setContentsMargins(0, 0, 0, 0)
        self.web_sonuc3.setContentsMargins(0, 0, 0, 0)
        self.micButton.clicked.connect(self.micButtonPressed)
        self.setWindowIcon(QtGui.QIcon('image/mary.png'))
        self.animasyon = False
        self.ttsIptal = False
        self.listenAktif = False
        self.micButtonClickable = True
        self.Image_Label.show()
        self.aktifThreadler = 0
        self.dosyakonumu = getcwd()
        self.soundPlayer = QtMultimedia.QMediaPlayer()
        self.soundPlayer.stateChanged.connect(self.soundPlayerState)
        #Tray icon
        self.tray_icon = QtWidgets.QSystemTrayIcon(self)
        self.tray_icon.setIcon(QtGui.QIcon("image/mary.png"))
        self.tray_icon.activated.connect(self.trayDoubleClick)
        show_action = QtWidgets.QAction("Göster", self)
        quit_action = QtWidgets.QAction("Çıkış yap", self)
        show_action.triggered.connect(self.show)
        quit_action.triggered.connect(self.closeApp)
        tray_menu = QtWidgets.QMenu()
        tray_menu.addAction(show_action)
        tray_menu.addAction(quit_action)
        self.tray_icon.setContextMenu(tray_menu)
        self.tray_icon.show()

        for i in range(10):
            self.dosyakonumu = self.dosyakonumu.replace("\\", "/")
        i = "border-image: url('{}/image/background.png');".format(
            self.dosyakonumu)
        stylesheet = "#centralwidget{" + i + "}"
        self.setStyleSheet(stylesheet)
        self.micButton.setStyleSheet(
            "border-image: url('{}/image/mic_1.png');".format(
                self.dosyakonumu))
        self.yapilanislem = ""
        self.backgroundListen = True
        self.voiceEngine = ResponsiveVoice(lang=ResponsiveVoice.TURKISH,
                                           gender=ResponsiveVoice.FEMALE,
                                           pitch=0.52,
                                           rate=0.53,
                                           key="8FCWWns8",
                                           vol=0.97)
        threading.Thread(target=self.sesanimasyon, daemon=True).start()
        threading.Thread(target=self.background, daemon=True).start()
        self.db = Veritabani()
        if self.db.ad() == "":
            self.yapilanislem = "ilkacilis"
            threading.Thread(target=self.ilkCalistirma, daemon=True).start()
Beispiel #2
0
 def playVoice(self):
     print('playing ' + self.sender().objectName())
     sound = QtMultimedia.QSound(self.sender().objectName())  # 取得文件名
     sound.play()
     loop = QEventLoop()
     loop.exec()
Beispiel #3
0
    def setup_ui(self, MainWindow):
        MainWindow.setObjectName("KnockOutMachine")

        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")

        self.main_picture = QtWidgets.QLabel(self.centralwidget)
        self.pixmap = QtGui.QPixmap("display/main_menu.png")
        self.scaledPixmap = self.pixmap.scaled(900, 900, QtCore.Qt.KeepAspectRatio)
        self.main_picture.setPixmap(self.scaledPixmap)

        self.pictures = QtWidgets.QLabel()
        self.pictures.setObjectName("pictures")
        self.pictures.setAlignment(QtCore.Qt.AlignCenter)
        self.pictures.setMinimumSize(500, 500)
        self.pictures.hide()

        self.player = QtMultimedia.QMediaPlayer(None, QMediaPlayer.VideoSurface)

        self.video_frame = QVideoWidget()
        self.video_frame.resize(960, 540)
        self.video_frame.hide()

        palette = QtGui.QPalette()
        palette.setColor(QtGui.QPalette.Text, QtCore.Qt.white)
        mfont = QtGui.QFont("Times", 80, QtGui.QFont.Bold)
        self.messages = QtWidgets.QLineEdit(self.centralwidget)
        self.messages.setObjectName("messages")
        self.messages.setAlignment(QtCore.Qt.AlignCenter)
        self.messages.setPalette(palette)
        self.messages.setReadOnly(True)
        self.messages.setFont(mfont)
        self.messages.setFixedSize(1400, 200)
        self.messages.hide()

        self.model = QtGui.QStandardItemModel(self.centralwidget)
        tableFont = QtGui.QFont("Times", 16)
        self.tableview = QtWidgets.QTableView(self.centralwidget)
        self.tableview.setObjectName("tableView")
        self.tableview.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents)
        self.tableview.setMaximumWidth(500)
        self.tableview.setMaximumHeight(900)
        self.tableview.verticalHeader().setDefaultSectionSize(85)
        self.tableview.horizontalHeader().setSectionResizeMode(QtWidgets.QHeaderView.ResizeToContents)
        self.tableview.setFont(tableFont)
        self.tableview.setModel(self.model)
        self.tableview.hide()

        self.input_window = QtWidgets.QWidget()
        self.input_window.setWindowTitle("Bitte Namen eingeben")
        self.input_window.resize(300, 100)
        self.input_window.move(850, 820)
        # self.input_window.setWindowFlags(
        #     QtCore.Qt.Window | QtCore.Qt.CustomizeWindowHint | QtCore.Qt.WindowStaysOnTopHint)
        self.input_window.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)

        self.input_layout = QtWidgets.QFormLayout()

        self.input_dialogue = QtWidgets.QLineEdit(self.centralwidget)
        self.input_dialogue.setMaxLength(30)

        buttonFont = QtGui.QFont("Times", 16, QtGui.QFont.Bold)
        self.startButton = QtWidgets.QPushButton(self.centralwidget)
        self.startButton.setFixedSize(191, 71)
        self.startButton.setFont(buttonFont)
        self.startButton.setObjectName("startButton")
        self.startButton.clicked.connect(lambda: self.on_start_button_clicked())

        self.inputButton = QtWidgets.QPushButton(self.centralwidget)
        self.inputButton.setObjectName("inputButton")
        self.inputButton.resize(self.inputButton.sizeHint())
        self.inputButton.setDisabled(True)

        self.highscoreButton = QtWidgets.QPushButton(self.centralwidget)
        self.highscoreButton.setFont(buttonFont)
        self.highscoreButton.setObjectName("highscoreButton")
        self.highscoreButton.setFixedSize(191, 71)
        self.highscoreButton.clicked.connect(lambda: self.on_high_score_button_clicked())

        self.cancelTimerButton = QtWidgets.QPushButton(self.centralwidget)
        self.cancelTimerButton.setFont(buttonFont)
        self.cancelTimerButton.setObjectName("cancelTimerButton")
        self.cancelTimerButton.setFixedSize(191, 71)
        self.cancelTimerButton.clicked.connect(lambda: self.exit_timer_function())
        self.cancelTimerButton.hide()

        self.cancelScoreButton = QtWidgets.QPushButton(self.centralwidget)
        self.cancelScoreButton.setFont(buttonFont)
        self.cancelScoreButton.setObjectName("cancelScoreButton")
        self.cancelScoreButton.setFixedSize(191, 71)
        self.cancelScoreButton.clicked.connect(lambda: self.exit_score_function())
        self.cancelScoreButton.hide()

        self.lcdCounter = QtWidgets.QLCDNumber(self.centralwidget)
        self.lcdCounter.setEnabled(False)
        self.lcdPalette = self.lcdCounter.palette()
        self.lcdCounter.setFixedSize(1350, 750)
        self.lcdCounter.setSmallDecimalPoint(False)
        self.lcdCounter.setDigitCount(5)
        self.lcdCounter.setObjectName("lcdCounter")
        self.lcdCounter.display("00.00")
        self.lcdCounter.hide()

        self.glass_not_set_timer, self.glass_set_timer = QtCore.QTimer(), QtCore.QTimer()

        self.glass_set_timer.setSingleShot(True)
        self.glass_set_timer.setInterval(100)
        self.glass_set_timer.timeout.connect(self.glass_set)

        self.glass_not_set_timer.setSingleShot(True)
        self.glass_not_set_timer.setInterval(100)
        self.glass_not_set_timer.timeout.connect(self.glass_not_set)

        self.vboxPictures = QtWidgets.QVBoxLayout()
        self.vboxPictures.addWidget(self.main_picture, 0, QtCore.Qt.AlignCenter)
        self.vboxPictures.addWidget(self.lcdCounter, 0, QtCore.Qt.AlignCenter)
        self.vboxPictures.addWidget(self.messages, 0, QtCore.Qt.AlignCenter)
        self.vboxPictures.addWidget(self.pictures, 1)
        self.vboxPictures.addWidget(self.video_frame, 0, QtCore.Qt.AlignCenter)
        self.vboxPictures.addWidget(self.tableview, 0, QtCore.Qt.AlignCenter)

        self.hboxButtons = QtWidgets.QHBoxLayout()
        self.hboxButtons.addWidget(self.startButton)
        self.hboxButtons.addWidget(self.highscoreButton)
        self.hboxButtons.addWidget(self.cancelTimerButton)
        self.hboxButtons.addWidget(self.cancelScoreButton)

        self.input_layout.addRow("", self.input_dialogue)
        self.input_layout.addRow("", self.inputButton)
        self.input_window.setLayout(self.input_layout)

        self.vbox = QtWidgets.QVBoxLayout()
        self.vbox.addLayout(self.vboxPictures)
        self.vbox.addStretch(1)
        self.vbox.addLayout(self.hboxButtons)
        self.vbox.addStretch(1)

        self.input_dialogue.textChanged.connect(self.enable_input_button)
        self.input_dialogue.returnPressed.connect(self.inputButton.click)
        self.inputButton.clicked.connect(lambda: self.update_scores(self.input_dialogue.text(), runTime))
        self.inputButton.clicked.connect(lambda: self.input_window.close())
        self.inputButton.clicked.connect(lambda: self.exit_timer_function())
        self.centralwidget.setLayout(self.vbox)
        MainWindow.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        locale.setlocale(locale.LC_ALL, '')

        self.retranslate_ui(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
Beispiel #4
0
    def __init__(self):
        QtWidgets.QWidget.__init__(self)

        # use main_ui for window setup
        self.ui = threepio_ui.Ui_MainWindow()
        self.setStyleSheet(open('stylesheet.qss').read())
        self.ui.setupUi(self)
        self.setWindowTitle("Threepio")

        # hide the close/minimize/fullscreen buttons
        self.setWindowFlags(QtCore.Qt.Window | QtCore.Qt.WindowTitleHint | QtCore.Qt.CustomizeWindowHint)

        # connect buttons
        self.ui.stripchart_speed_slider.valueChanged.connect(self.update_speed)
        # self.ui.speed_slower_radio.clicked.connect(self.update_speed)
        # self.ui.speed_default_radio.clicked.connect(self.update_speed)

        self.ui.actionInfo.triggered.connect(self.handle_credits)

        self.ui.actionScan.triggered.connect(self.handle_scan)
        self.ui.actionSurvey.triggered.connect(self.handle_survey)
        self.ui.actionSpectrum.triggered.connect(self.handle_spectrum)

        self.ui.actionDec.triggered.connect(self.dec_calibration)
        self.ui.actionRA.triggered.connect(self.ra_calibration)

        self.ui.actionNormal.triggered.connect(self.set_state_normal)
        self.ui.actionTesting.triggered.connect(self.set_state_testing)
        self.ui.actionLegacy.triggered.connect(self.legacy_mode)

        self.ui.chart_clear_button.clicked.connect(self.clear_stripchart)

        self.ui.chart_legacy_button.clicked.connect(self.legacy_mode)

        # DATAQ stuff
        self.tars = Tars(parent=self)
        self.tars.setup()
        self.tars.start()

        # clock
        self.clock = None
        self.set_time()

        # bleeps and bloops
        self.click_sound = QtMultimedia.QSoundEffect()
        url = QtCore.QUrl()
        self.click_sound.setSource(url.fromLocalFile("assets/beep5.wav"))
        self.click_sound.setVolume(0.5)
        self.click_sound.play()
        self.last_beep_time = 0.0

        # initialize stripchart
        self.stripchart_series_a = QtChart.QLineSeries()
        self.stripchart_series_b = QtChart.QLineSeries()
        self.axis_y = QtChart.QValueAxis()
        self.chart = QtChart.QChart()
        self.ui.stripchart.setRenderHint(QtGui.QPainter.Antialiasing)
        pen = QtGui.QPen(QtGui.QColor(self.BLUE))
        pen.setWidth(1)
        self.stripchart_series_a.setPen(pen)
        pen.setColor(QtGui.QColor(self.RED))
        self.stripchart_series_b.setPen(pen)
        self.initialize_stripchart()

        self.update_speed()

        # establish observation
        self.observation = None

        # establish data array & most recent dec
        self.data = []
        self.current_dec = 0.0

        # run initial calibration
        self.load_dec_cal()

        # refresh timer
        self.timer = QtCore.QTimer(self)
        self.timer.timeout.connect(self.tick)  # do everything
        self.timer.start(self.timer_rate)  # set refresh rate
    def initUI(self):

        #                                     INITIALIZATION STEP 1: CREATE TIMER WIDGET

        # self.timerwidget = QtWidgets.QWidget(self)
        # # self.timerwidget.setObjectName("timerwidget")
        # #
        self.timer_label = QtWidgets.QLabel(self)  #self.timerwidget
        self.timer_label.setGeometry(QtCore.QRect(1380, 720, 431, 271))
        self.timer_label.setStyleSheet(
            "border-image: url('C:/Users/Owner/PycharmProjects/BF4 Deployment Timer/black timer background rev.jpg'); color: rgb(136, 204, 241)"
        )

        font2 = QtGui.QFont()
        font2.setFamily("Agency FB")
        font2.setPointSize(38)

        self.timer_label.setFont(font2)
        self.timer_label.setTextFormat(QtCore.Qt.AutoText)
        self.timer_label.setObjectName("timerlabel")
        self.timer_label.setText('Awaiting Orders')
        self.timer_label.setAlignment(QtCore.Qt.AlignCenter)
        self.timer_label.setLayoutDirection(QtCore.Qt.RightToLeft)

        # timer_layout = QtWidgets.QVBoxLayout()
        # timer_layout.addWidget(self.timer_label)
        # self.setLayout(timer_layout)

        #                                 INITIALIZATION STEP 2: LOAD AUDIO FILES

        self.url_AA1 = QtCore.QUrl.fromLocalFile(
            'C:\\Users\\Owner\\PycharmProjects\\BF4 Deployment Timer\\sound\\friendly timers\\friendly AA r\\friendly aa pt1.mp3'
        )
        self.AA1 = QtMultimedia.QMediaContent(self.url_AA1)
        self.AA1_player = QtMultimedia.QMediaPlayer()
        self.AA1_player.setMedia(self.AA1)

        self.url_AA2 = QtCore.QUrl.fromLocalFile(
            'C:\\Users\\Owner\\PycharmProjects\\BF4 Deployment Timer\\sound\\friendly timers\\friendly AA r\\friendly aa pt2.mp3'
        )
        self.AA2 = QtMultimedia.QMediaContent(self.url_AA2)
        self.AA2_player = QtMultimedia.QMediaPlayer()
        self.AA2_player.setMedia(self.AA2)

        self.url_AA3 = QtCore.QUrl.fromLocalFile(
            'C:\\Users\\Owner\\PycharmProjects\\BF4 Deployment Timer\\sound\\friendly timers\\friendly AA r\\friendly aa pt3.mp3'
        )
        self.AA3 = QtMultimedia.QMediaContent(self.url_AA3)
        self.AA3_player = QtMultimedia.QMediaPlayer()
        self.AA3_player.setMedia(self.AA3)

        self.url_AA4 = QtCore.QUrl.fromLocalFile(
            'C:\\Users\\Owner\\PycharmProjects\\BF4 Deployment Timer\\sound\\friendly timers\\friendly AA r\\friendly aa pt4.mp3'
        )
        self.AA4 = QtMultimedia.QMediaContent(self.url_AA4)
        self.AA4_player = QtMultimedia.QMediaPlayer()
        self.AA4_player.setMedia(self.AA4)

        #                             INITIALIZATION STEP 3: CREATE VEHICLE BUTTONS

        self.AA_button = QtWidgets.QPushButton(self)  # create AA button
        self.AA_button.setGeometry(QtCore.QRect(1500, 300, 154,
                                                93))  # create size of icon
        AA_icon = QtGui.QIcon()  # create an icon object
        AA_icon.addPixmap(QtGui.QPixmap("vehicle icons/AA.jpg"),
                          QtGui.QIcon.Normal,
                          QtGui.QIcon.Off)  # give object a picture attribute
        self.AA_button.setIcon(
            AA_icon
        )  # assign the icon object (with pic) to the button's attribute property
        self.AA_button.setIconSize(QtCore.QSize(300,
                                                300))  # set size of the button
        self.AA_button.setObjectName("AA_Icon")  # name the button
        # self.AA_button.toggle()
        self.AA_button.clicked.connect(
            self.AA_click)  # connect the button to the reaction event
        self.AA_button.clicked.connect(self.timer_start)

        #                               INITIALIZATION STEP 4: CREATE 'TIMER' OBJECT
        self.countdown = QtCore.QTimer()
        self.countdown.timeout.connect(self.print_timer)
        self.countdown.timeout.connect(self.AA_click)
Beispiel #6
0
    def __init__(self, *args, **kwargs):
        
        # Setup widget
        QtWidgets.QWidget.__init__(self, *args, **kwargs)
        loader = UiLoader()
        loader.registerCustomWidget(QTableWidgetMetronome)
        loader.load(LocalPath('metronome.ui'), self)
        
        #
        # Setup initial values
        #

        self._externalTimerIndex = -1
        self._MetronomeIndex = 0
        self._MetronomeLoud = True
        self._TimerConnected = False

        # Perform autoconfig
        AutoConfig.__init__(self, autoconfig_name_key='metronome')
        
        # Empty array of emph buttons
        self._pushButtons_Click = []
        
        #
        # Connect widgets!
        #

        # Metronome sound
        AudioFormat = QtMultimedia.QAudioFormat()
        AudioFormat.setChannelCount(1)
        AudioFormat.setSampleRate(44100)
        AudioFormat.setSampleSize(16)
        AudioFormat.setCodec("audio/pcm")
        AudioFormat.setByteOrder(QtMultimedia.QAudioFormat.LittleEndian)
        AudioFormat.setSampleType(QtMultimedia.QAudioFormat.SignedInt)
        
        self.MetronomeOutput = QtMultimedia.QAudioOutput(AudioFormat)
        self.MetronomeOutput.setVolume(1.0)
        self.MetronomeBuffer = QtCore.QBuffer()
        self.MetronomeDataSilent = QtCore.QByteArray()
        self.MetronomeDataQuiet = QtCore.QByteArray()
        self.MetronomeDataLoud = QtCore.QByteArray()

        self._make_click()
        
        # Metronome Flash timer
        self.MetronomeTimer = QtCore.QTimer()
        self.MetronomeTimer.setTimerType(QtCore.Qt.PreciseTimer)
        
        # Metronome MetronomeUnFlash timer
        self.MetronomeUnFlashTimer = QtCore.QTimer()
        self.MetronomeUnFlashTimer.setTimerType(QtCore.Qt.PreciseTimer)

        # Start / stop metronome
        self.comboBox_Metronome.currentIndexChanged.connect(self.MetronomeStartStop)
        
        # Spinboxes: if metronome is running, change speed / emphasis based on changes
        self.BPM_spinBox.setKeyboardTracking(False)
        self.BPM_spinBox.valueChanged.connect(self.MetronomeUpdate)

        self.Emph_spinBox.setKeyboardTracking(False)
        self.Emph_spinBox.valueChanged.connect(self.emphUpdate)
        
        # Build button array
        self.emphUpdate()

        self.spinBox_Skipped.setKeyboardTracking(False)
        self.spinBox_Skipped.valueChanged.connect(self.MetronomeUpdate)

        # Presets
        self.pushButton_Preset_1.clicked.connect(lambda: self.Preset(1))
        self.pushButton_Preset_2.clicked.connect(lambda: self.Preset(2))
        self.pushButton_Preset_5.clicked.connect(lambda: self.Preset(5))
        self.pushButton_Preset_10.clicked.connect(lambda: self.Preset(10))

        # Table mode
        self.tableWidgetMetronome.setColumnCount(4)
        self.tableWidgetMetronome.setRowCount(0)
        self.tableWidgetMetronome.setHorizontalHeaderLabels(
                ["Duration", "BPM", "Beats per measure", "Skipped"]
                )
        self.tableWidgetMetronome.setFixedWidth()
Beispiel #7
0
 def play_aud_dirc(self, file_name):
     url = QtCore.QUrl.fromLocalFile('.\\audio\\' + str(file_name) + '.wav')
     content = QtMultimedia.QMediaContent(url)
     self.player.setMedia(content)
     self.player.setVolume(self.volume)
     self.player.play()
Beispiel #8
0
 def __init__(self, volume):
     self.volume = volume
     # self.file_path =  file_path
     self.loop = asyncio.get_event_loop()
     self.player = QtMultimedia.QMediaPlayer()
     self.player2 = QtMultimedia.QMediaPlayer()