Image gets clipped while changing orientation using Qt -


hi all,

i wnt develop imageviewer using qt. m trying resize big images scaling them. problem , when change screen orientation part of image gets clipped , if open image in landscape mode, default size of image remains small when change portrait mode. doin wrong?

please me out. heres code dat hv written

imageviewer::imageviewer() { setattribute(qt::wa_deleteonclose); qaction *back = new qaction(this); back->settext(qstring("back")); connect(back,signal(triggered()),this,slot(close())); back->setsoftkeyrole(qaction::positivesoftkey); addaction(back);

imagelabel = new qlabel(); imagelabel->setsizepolicy(qsizepolicy::expanding,qsizepolicy::expanding); imagelabel->setalignment(/*qt::alignleft|*/qt::aligncenter); qwidget *widget = new qwidget; layout=new qstackedlayout(); layout->addwidget(imagelabel); widget->setlayout(layout); setcentralwidget(widget); 

}

void imageviewer::showimage(qstring filepath) { qimagereader reader; reader.setfilename(filepath); qsize imagesize = reader.size(); imagesize.scale(size(), qt::keepaspectratio); reader.setscaledsize(imagesize); qimage image = reader.read(); imagelabel->setpixmap(qpixmap::fromimage(image)); imagelabel->adjustsize(); }

you should re-implement qlabel's resizeevent or install event filter , handle qresizeevent there content of showimage method should go handler of resize event. using size() of imageviewer widget (which seems derived qmainwindow), it's better use imagelabel.size(); or best qresizeevent::size() prevent problem if change ui layout in future.


Comments

Popular posts from this blog

php - What is the difference between $_SERVER['PATH_INFO'] and $_SERVER['ORIG_PATH_INFO']? -

fortran - Function return type mismatch -

queue - mq_receive: message too long -