У меня есть QTableWidget
и Qcombobox
. Я хочу получить текстовые значения из каждой отдельной ячейки в первом столбце 1
, и когда пользователь вставляет новое значение, это автоматически присваивает значение Qcombobox
. Под каждой отдельной ячейкой я подразумеваю получение доступных значений, когда ячейка пуста, тогда ничего не делают
Визуализация:
from PyQt5 import QtCore, QtWidgets
class Widget(QtWidgets.QWidget):
def __init__(self, parent=None):
QtWidgets.QWidget.__init__(self, parent)
self.setLayout(QtWidgets.QVBoxLayout())
combo = QtWidgets.QComboBox(self)
self.layout().addWidget(combo)
class Window(QtWidgets.QWidget):
def __init__(self):
super(Window, self).__init__()
self.table = QtWidgets.QTableWidget(10, 2, self)
self.comboBox = QtWidgets.QComboBox()
layout = QtWidgets.QVBoxLayout(self)
layout.addWidget(self.table)
names = ['Name 1', 'Name 2', 'Name 3', 'Name 4', 'Name 5']
for index, name in enumerate(names):
self.table.setItem(index, 0, QtWidgets.QTableWidgetItem(name))
class Layout(QtWidgets.QWidget):
def __init__(self, parent=None):
super(Layout, self).__init__()
self.comb = Widget()
self.table = Window()
layout = QtWidgets.QVBoxLayout(self)
layout.addWidget(self.table)
layout.addWidget(self.comb)
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
window = Layout()
window.setGeometry(600, 200, 300, 300)
window.show()
sys.exit(app.exec_())
Я не уверен насчет соединения, и решение для слотов даст хороший выбор?