2016-04-15 178 views
0

我有這個代碼的一些問題,提請各地的QT圖像的邊界,任何人都可以告訴我,我缺少什麼:圍繞圖像QT繪製邊框。

void imageLabel::paintEvent(QPaintEvent *event) 
{ 
QLabel::paintEvent(event); 
if (!m_qImage.isNull()) 
{ 
    QImage qImageScaled = m_qImage.scaled(QSize(width(),height()),Qt::KeepAspectRatio,Qt::FastTransformation); 
double dAspectRatio = (double)qImageScaled.width()/(double)m_qImage.width(); 
int iX = m_iX*dAspectRatio; 
int iY = m_iY*dAspectRatio; 
int iWidth = m_iWidth*dAspectRatio; 
int iHeight = m_iHeight*dAspectRatio; 

QPainter qPainter(this); 
qPainter.drawImage(0,0,qImageScaled); 
qPainter.setBrush(Qt::NoBrush); 
qPainter.setPen(Qt::red); 
qPainter.drawRect(iX,iY,iWidth,iHeight); 
} 
} 
+0

只是爲了提供更多信息,我得到了第一個void decleration的錯誤錯誤....以及關於m_iwidth和M_height的錯誤。 – Owenb11

+0

如果您從某處複製了此代碼,請記住以m_開頭的變量通常表示應該在您的類中聲明的成員變量。 –

+0

你知道任何簡單的方法來繪製一個矩形周圍的圖像使用QT,這是非常新的和有很少的知識...對不起 – Owenb11

回答

1

您可以使用QFrame簡化周圍添加一幀的任務像QLabel這樣的小工具。

QtCreator,只需選擇標籤並向下滾動,直到您看到屬性編輯器的綠松石部分,並使用其中的值進行播放。

QFrame settings in properties editor of QtCreator

結果看起來是這樣的:

A QLabel with QFrame

希望這一起幫助你!