Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Az от Май 23, 2010, 14:18



Название: setItemWidget [QTreeWidgetItem + QComboBox]
Отправлено: Az от Май 23, 2010, 14:18
Всем доброго дня!
Коллеги, подскажите, если кто сталкивался:
У меня есть некое QTreeWidget, в котором есть 5 колонок. Хотел реализовать следующее: в первой колонке вместо ячейки ComboBox, но так, чтобы он повлялся только при выделении определенной строки, а в остальных случаях был просто текстом.
Встроить ComboBox получилось без проблем, но вот в его появлении\исчезании они возникли, ибо после "встраивания" бокса в ячейку, воспринимать hide и setVisible он отказывается...
Код
C++ (Qt)
 
             QTreeWidgetItem *item = new QTreeWidgetItem(ui->treeWidget);
             QComboBox *combo = new QComboBox;
             ui->treeWidget->setItemWidget(item,0,combo);
             combo->addItem("http");
             combo->addItem("socks4");
             combo->addItem("socks5");
             combo->setCurrentIndex(0);
 
Возможно ли все-таки как-то передать ей hide?


Название: Re: setItemWidget [QTreeWidgetItem + QComboBox]
Отправлено: kibsoft от Май 23, 2010, 15:09
Код:
This function should only be used to display static content in the place of a tree widget item. If you want to display custom dynamic content or implement a custom editor widget, use QTreeView and subclass QItemDelegate instead.
Поможет Spin Box Delegate Example в ассистенте.


Название: Re: setItemWidget [QTreeWidgetItem + QComboBox]
Отправлено: Az от Май 23, 2010, 15:34
Да, похоже это то, что нужно. Спасибо!