On Fri, 5 Dec 2008 00:10:00 +0100, "Filip Gruszczyński" <[EMAIL PROTECTED]> wrote: > I would like to be able to display a very simple widget: widget with > an image drawn inside (it is supposed to display an image, that was > previously visible only on a thumbnail). This should be opened in a > new window. > > First thing I tried was QDialog. But it seems, that just painting on > it using paintEvent is not enough and it disappears (though I used > exec_ on it). So I went back to a widget, checked the docs for making > it a standalone window and tried something like this: > > class ImageViewer(QWidget): > > def __init__(self, resource, parent): > QWidget.__init__(self, parent, Qt.Popup) > self.__resource = resource > self.repaint() > > def paintEvent(self, event): > painter = QPainter(self) > image = QImage(self.__resource.file()) > self.resize(image.size()) > painter.drawImage(QRect(QPoint(0, 0), image.size()), image) > > This should be modal, top-level window. I call show on it, but it > appears only for a moment to disappear after that. I do: > > column = event.pos().x() / self.RectangleFullWidth > row = event.pos().y() / self.RectangleFullHeight > image = ImageViewer(self.__drawn[(column, row)], self) > image.show() > > (I am picking thumbnail from the displayed and trying to display it in > full). > > I'd really appreciate some advice on how can I achieve a stand alone > window for displaying some stuff, e.g. an Image. As long as there are > some widgets inside it's easy, because dialog is enough. But this > doesn't.
Convert the image to a QPixmap and use a QLabel. Phil _______________________________________________ PyQt mailing list [email protected] http://www.riverbankcomputing.com/mailman/listinfo/pyqt
