Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

QTreeWidget перемещение строк со встроенными виджетами.

92K
04 декабря 2013 года
lifter-8361
1 / / 04.12.2013
Всем привет. 2 дня назад столкнулся со следующей проблемой и никак не могу ее решить: Имеется некий QTreeWidget, состоящий из двух столбцов: - первый с текстом, второй с QSpinBox. В QTreeWidget вставляю 2 строки(top-level) и хочу поменять эти строки местами при нажатии на кнопку, которая расположена на родительском виджете. В результате переносится текст, а QSpinBox пропадает. Что только уже не пробовал. Для ясности картины вот кусок кода добавления элементов в QTableWidget:


Код:
QTreeWidgetItem* item = new QTreeWidgetItem(ui->treeWidget);
    item->setText(0, "firstItem");
    QSpinBox* spBox = new QSpinBox(ui->treeWidget);
    spBox ->setValue(1);
    //order is important
    ui->treeWidget->insertTopLevelItem(ui->treeWidget->topLevelItemCount(),item);
    ui->treeWidget->setItemWidget(item, 1, spBox );

    item = new QTreeWidgetItem();
    item->setText(0, "secondItem");
    spBox = new QSpinBox(ui->treeWidget);
    spBox ->setValue(2);
    ui->treeWidget->insertTopLevelItem(ui->treeWidget->topLevelItemCount(),item);
    ui->treeWidget->setItemWidget(item, 1, spBox );
Фрагмент переноса:

 
Код:
QTreeWidgetItem* item = ui->treeWidget->takeTopLevelItem(0);
    ui->treeWidget->insertTopLevelItem(1, item);
Прошу без критики. т.к. эти фрагменты составил на скорую руку, для того, чтоб объяснить суть проблемы. Пытался так же запомнить адреса QSpinBox'oв в классе и после вставки QTreeItemWidget в QTreeWidget добавлять при помощи setItemWidget. Не спасло.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог