Установить текущий индекс QComboBox внутри QTableWidget - PullRequest
0 голосов
/ 14 марта 2020

У меня QComboBox внутри QTableWidget. Он был создан так:

QComboBox* bb = new QComboBox(this);
ui->propsWidget->setCellWidget(1, 0, bb);
for (...)
    bb.addItem(...);

Мне нужно программно установить его индекс. Я пробовал это:

QComboBox* bb = qobject_cast<QComboBox*>(ui->propsWidget->cellWidget(1, 0));
bb->setCurrentIndex(5);

и это:

bb->setEditText("mytext"); // "mytext" is contained in bb

, но текущий индекс не меняется. Как я могу это сделать?

1 Ответ

1 голос
/ 15 марта 2020

Вам необходимо изменить эту строку: QComboBox* bb = new QComboBox(this);, потому что QTableWidget берет на себя владение всеми своими подкомпонентами. Таким образом, он должен стать QComboBox* bb = new QComboBox();, и родительский элемент будет таблицей сам по себе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...