Мне было интересно, есть ли способ обнаружить щелчок мыши на элементе вертикального заголовка (заголовок строки). Я могу обнаружить щелчки по ячейкам таблицы без проблем, но, похоже, нет способа обнаружить щелчки по элементам заголовка.
self.w3.WorkerTab.clicked.connect(self.putNameInComboBoxFromTableClick)
self.w3.WorkerTab.doubleClicked.connect(self.putDoubleClickDataInSpaces)
Я изменил обычные данные заголовки (числа) на быть имена сотрудников (строки) и рабочих дней (столбцы). Прямо сейчас (с кодом ниже) одним щелчком мыши по любому элементу в строке содержимое заголовка строки обнаруживается и помещается в ComboBox. При двойном щелчке он снова обнаруживает сотрудника и открывает другое окно для настройки сотрудника.
def putNameInComboBoxFromTableClick(self, item):
selectedName = self.w3.WorkerTab.verticalHeaderItem(item.row())
NameMA = selectedName.text()
indexMA = self.w3.chooseWorkerBox.findText(NameMA)
self.w3.chooseWorkerBox.setCurrentIndex(indexMA)
def putDoubleClickDataInSpaces(self, item):
selectedName = self.w3.WorkerTab.verticalHeaderItem(item.row())
NameMA = selectedName.text()
AZ = "AZ"
with open(self.database) as mb_json:
data = json.load(mb_json)
# Festlegung der Abteilung
for key1 in data:
for key2 in data[key1]:
if key2 == NameMA:
self.w4.NameText.setText(NameMA)
self.w4.MoText.setCurrentText(data[key1][key2][AZ]["Mo"])
self.w4.DiText.setCurrentText(data[key1][key2][AZ]["Di"])
self.w4.MiText.setCurrentText(data[key1][key2][AZ]["Mi"])
self.w4.DoText.setCurrentText(data[key1][key2][AZ]["Do"])
self.w4.FrText.setCurrentText(data[key1][key2][AZ]["Fr"])
self.w4.SaText.setCurrentText(data[key1][key2][AZ]["Sa"])
self.w4.OeText.setText(key1)
self.w4.show()
self.w3.close()