[solved]Displaying current QListWidgetItem in QGraphicsView on the same Widget
-
Hi,
I want to display the populated qlistwidget item (image files), in the qgraphicsview which is also in the same widget. I would like to enable it by clicking the current item in QListWidget. I tried drag and drop but, i couldn't find a correct way of doing it. So i felt displaying image by clicking the item might be easier. But i have little idea how to implement it. It would be great if you could suggest me some way to implement the above mentioned.@ void Widget::on_listWidget_itemClicked(QListWidgetItem *item)
{
} @ -
Hi,
Get the image path
Create a pixmap from the file
Create a QGraphicsPixmapItem
Set the pixmap on the item
Add the item to the scene
Set the item coordinates to something sensible
Hope it helps
-
-
It all depends on how you use your QListWidget, where do you keep the image path etc...
-
Hi,
I have used my QListWidget to populate datas through QDialog as followed
@
void Widget::on_pushButton_clicked()
{QString fileName; QStringList fileNames; QFileDialog dialog(this); dialog.setFileMode(QFileDialog::ExistingFiles); if (dialog.exec()) fileNames = dialog.selectedFiles(); foreach (fileName, fileNames) { QListWidgetItem *item = new QListWidgetItem(ui->listWidget); ui->listWidget->setViewMode(QListWidget::IconMode); QFileInfo fi(fileName); QString name = fi.fileName(); item->setText(name); QIcon icon = iconSource.icon(fi); item->setIcon(icon); ui->listWidget->setIconSize(QSize(30,30)); } ui->listWidget->update();
}
@
Now i want to establish drag and drop between the QListWidget and QGraphicsView designed through QDesigner in same widget. I am not sure how to convert the Url which is stored in qlistwidget into qpixmap... It would be great to have your suggestion regarding how to implement this..
Thanks and regards
Venkatesh Padmanabhan -
I answered to a similar question "there":http://qt-project.org/forums/viewthread/31764/
-
Hi,
I tried to implement as per your suggestion but the image is not getting displayed@
void Widget::on_listwidget_itemClicked(QListWidgetItem *item)
{
QFileInfo info(item->text());
QString str= info.absoluteFilePath();
QPixmap pix(str);
QGraphicsScene *scn= new QGraphicsScene(ui->graphicsView_2);
scn->addPixmap(pix);
ui->graphicsView_2->setScene(scn);
ui->graphicsView_2->show();
update();
}
@I think there is some problem in my method of getting the file path. But if i change the
@
scn->setText(str);
@It displays the full path of the image in the scene. But i don't know why the pix doesn't create the pixmap from the string.
This problem is really creating me so much of trouble :(
-
The answer I gave you on your other thread can also apply here