PtQt5 QComboBox при выборе одного варианта меняются значения в QTableWidget
Я новичок в Python, поэтому решил задать, наверное очень глупый, вопрос.
Нужно чтобы при выборе одного из вариантов из QComboBox менялись значения в ячейках таблицы QTableWidget ?
Приложил скриншот формы. Красным пером выделены объекты моего вопроса.
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Начните с изучения небольшого примера
import sys
from PyQt5.QtWidgets import (QWidget, QApplication, QTableWidget,
QTableWidgetItem, QVBoxLayout, QComboBox, QMessageBox)
from PyQt5.QtCore import Qt
class Example(QWidget):
def __init__(self):
super().__init__()
self.tableWidget = QTableWidget()
self.tableWidget.setRowCount(4)
self.tableWidget.setColumnCount(2)
for i in range(4):
for j in range(2):
item = QTableWidgetItem("Item {}-{}".format(i, j))
item.setTextAlignment(Qt.AlignHCenter)
self.tableWidget.setItem(i, j, item)
self._list = [
'Изменить: row: 0, column: 0',
'Изменить: row: 1, column: 0',
'Изменить: row: 2, column: 0',
'Изменить: row: 3, column: 0',
]
self.combobox = QComboBox()
self.combobox.addItems(self._list)
self.combobox.currentIndexChanged.connect(self.on_combobox_func)
self.layout = QVBoxLayout(self)
self.layout.addWidget(self.combobox)
self.layout.addWidget(self.tableWidget)
def on_combobox_func(self, index):
item = QTableWidgetItem("{}".format(self.combobox.currentText()))
self.tableWidget.setItem(index, 0, item)
if __name__ == '__main__':
app = QApplication(sys.argv)
w = Example()
w.show()
sys.exit(app.exec_())

