Test gamepad name

This commit is contained in:
Marc Riera Irigoyen 2022-10-09 23:45:12 +02:00
parent 0c9428fdd8
commit 139875808a
6 changed files with 110 additions and 24 deletions

View file

@ -1,17 +1,22 @@
import sys
from PyQt5 import uic
from PyQt5.QtWidgets import QMainWindow
from PyQt5.QtWidgets import QMainWindow, QTableWidgetItem
from gui.main_ui import Ui_MainWindow
from handlers.gamepad import Gamepad
class MainWindow(QMainWindow):
def __init__(self, main_controller):
def __init__(self, gamepad_handler):
super().__init__()
self._main_controller = main_controller
self._gamepad_handler = gamepad_handler
self._gui = Ui_MainWindow()
self._gui.setupUi(self)
self._gui.pushButton_emulatedControllerStart.clicked.connect(self.startPressed)
self._gui.pushButton_physicalControllerRefresh.clicked.connect(self.controller_list_refresh)
def startPressed(self):
self._gui.statusbar.showMessage("Hello!")
def controller_list_refresh(self):
self._gui.tableWidget_physicalControllerList.setRowCount(0)
for gamepad in self._gamepad_handler.find_gamepads():
rowCount = self._gui.tableWidget_physicalControllerList.rowCount()
self._gui.tableWidget_physicalControllerList.insertRow(rowCount)
self._gui.tableWidget_physicalControllerList.setItem(rowCount , 1, QTableWidgetItem(gamepad.name))

View file

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'ui/main_ui.ui'
# Form implementation generated from reading ui file 'gui/main_ui.ui'
#
# Created by: PyQt5 UI code generator 5.15.7
#
@ -27,8 +27,8 @@ class Ui_MainWindow(object):
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
self.gridLayout.setContentsMargins(9, 9, 9, 9)
self.gridLayout.setObjectName("gridLayout")
self.verticalLayout = QtWidgets.QVBoxLayout()
self.verticalLayout.setObjectName("verticalLayout")
self.verticalLayout_main = QtWidgets.QVBoxLayout()
self.verticalLayout_main.setObjectName("verticalLayout_main")
self.groupBox_physicalControllers = QtWidgets.QGroupBox(self.centralwidget)
self.groupBox_physicalControllers.setObjectName("groupBox_physicalControllers")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_physicalControllers)
@ -47,7 +47,18 @@ class Ui_MainWindow(object):
self.tableWidget_physicalControllerList.setHorizontalHeaderItem(2, item)
self.tableWidget_physicalControllerList.horizontalHeader().setStretchLastSection(True)
self.verticalLayout_2.addWidget(self.tableWidget_physicalControllerList)
self.verticalLayout.addWidget(self.groupBox_physicalControllers)
self.horizontalLayout_physicalControllerActions = QtWidgets.QHBoxLayout()
self.horizontalLayout_physicalControllerActions.setObjectName("horizontalLayout_physicalControllerActions")
self.pushButton_physicalControllerRefresh = QtWidgets.QPushButton(self.groupBox_physicalControllers)
self.pushButton_physicalControllerRefresh.setObjectName("pushButton_physicalControllerRefresh")
self.horizontalLayout_physicalControllerActions.addWidget(self.pushButton_physicalControllerRefresh)
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_physicalControllerActions.addItem(spacerItem)
self.pushButton_physicalControllerConfig = QtWidgets.QPushButton(self.groupBox_physicalControllers)
self.pushButton_physicalControllerConfig.setObjectName("pushButton_physicalControllerConfig")
self.horizontalLayout_physicalControllerActions.addWidget(self.pushButton_physicalControllerConfig)
self.verticalLayout_2.addLayout(self.horizontalLayout_physicalControllerActions)
self.verticalLayout_main.addWidget(self.groupBox_physicalControllers)
self.groupBox_emulatedController = QtWidgets.QGroupBox(self.centralwidget)
self.groupBox_emulatedController.setObjectName("groupBox_emulatedController")
self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox_emulatedController)
@ -69,13 +80,13 @@ class Ui_MainWindow(object):
self.comboBox_emulatedControllerModel.setObjectName("comboBox_emulatedControllerModel")
self.comboBox_emulatedControllerModel.addItem("")
self.horizontalLayout.addWidget(self.comboBox_emulatedControllerModel)
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem)
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem1)
self.pushButton_emulatedControllerStart = QtWidgets.QPushButton(self.groupBox_emulatedController)
self.pushButton_emulatedControllerStart.setObjectName("pushButton_emulatedControllerStart")
self.horizontalLayout.addWidget(self.pushButton_emulatedControllerStart)
self.verticalLayout.addWidget(self.groupBox_emulatedController)
self.gridLayout.addLayout(self.verticalLayout, 0, 0, 1, 1)
self.verticalLayout_main.addWidget(self.groupBox_emulatedController)
self.gridLayout.addLayout(self.verticalLayout_main, 0, 0, 1, 1)
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
@ -89,11 +100,13 @@ class Ui_MainWindow(object):
MainWindow.setWindowTitle(_translate("MainWindow", "Densha de GO! Controller Converter"))
self.groupBox_physicalControllers.setTitle(_translate("MainWindow", "Physical controllers"))
item = self.tableWidget_physicalControllerList.horizontalHeaderItem(0)
item.setText(_translate("MainWindow", "Name"))
item = self.tableWidget_physicalControllerList.horizontalHeaderItem(1)
item.setText(_translate("MainWindow", "ID"))
item = self.tableWidget_physicalControllerList.horizontalHeaderItem(1)
item.setText(_translate("MainWindow", "Name"))
item = self.tableWidget_physicalControllerList.horizontalHeaderItem(2)
item.setText(_translate("MainWindow", "Status"))
self.pushButton_physicalControllerRefresh.setText(_translate("MainWindow", "Refresh"))
self.pushButton_physicalControllerConfig.setText(_translate("MainWindow", "Configuration"))
self.groupBox_emulatedController.setTitle(_translate("MainWindow", "Emulated controller"))
self.label_emulatedControllerModel.setText(_translate("MainWindow", "Model"))
self.comboBox_emulatedControllerModel.setItemText(0, _translate("MainWindow", "Two-handle controller for PC (DGOC-44U)"))

View file

@ -46,7 +46,7 @@
<number>9</number>
</property>
<item row="0" column="0">
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QVBoxLayout" name="verticalLayout_main">
<item>
<widget class="QGroupBox" name="groupBox_physicalControllers">
<property name="title">
@ -66,12 +66,12 @@
</attribute>
<column>
<property name="text">
<string>Name</string>
<string>ID</string>
</property>
</column>
<column>
<property name="text">
<string>ID</string>
<string>Name</string>
</property>
</column>
<column>
@ -81,6 +81,37 @@
</column>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_physicalControllerActions">
<item>
<widget class="QPushButton" name="pushButton_physicalControllerRefresh">
<property name="text">
<string>Refresh</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_physicalControllerActions">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="pushButton_physicalControllerConfig">
<property name="text">
<string>Configuration</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
@ -119,7 +150,7 @@
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<spacer name="horizontalSpacer_emulatedController">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>