Всем привет.
Такой вопрос..
Как связать итемы на сцене с другими данными? Например со списком treeWidget.
При выборе строки с определенными данными, получаем нужный итем на сцене.
При добавлении итема (картинки) на сцену пишу.
Qstring buf=”1”; //имя
pPixmapItem->setData(1,buf);
bufListObject = scene.items();
for(int i=0;i<bufListObject.count();i++)
if(bufListObject.at(i)->data(1)==item->text(0))
bufListObject.at(i)->setVisible(false);
привет, будь более конкретен в своих вопросах, по приведенным кускам кода можно лишь догадываться, что за типы объектов в данных кусках кода присутствуют.
сори, следующий раз буду более конкретен
QGraphicsPixmapItem* pPixmapItem = scene.addPixmap(bufPm);
pPixmapItem->setFlag(QGraphicsItem::ItemIsMovable);
pPixmapItem->setData(1,buf);
//выбираю из списка итем
void MainWindow::on_treeWidget_itemClicked(QTreeWidgetItem* item, int column)
{
//................................
bufListObject = scene.items();
for(int i=0;i<bufListObject.count();i++)
if(bufListObject.at(i)->data(1)==item->text(0))
bufListObject.at(i)->setAcceptedMouseButtons(Qt::LeftButton);
}
if(bufListObject.at(i)->data(1)==item->text(0))
if(bufListObject.at(i)->data(1)==item->text(0))
qDebug()<<"\'"<<bufListObject.at(i)->data(1).toString()<<"\'";
qDebug()<<"\'"<<item->text(0)<<"\'";
if(bufListObject.at(i)->data(1)==item->text(0))
qDebug()<<"\'"<<bufListObject.at(i)->data(1).toString()<<"\'";
qDebug()<<"\'"<<item->text(0)<<"\'";
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)