QT新和我打算顯示圖像與佈局精美對齊。QT顯示圖像與Qlabel在佈局不起作用
創建3個Qlabels和它們組合在垂直和水平佈局構建像一個小窗口:
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
在設計師:
我使用以下加載我的圖像,並顯示圖像:
ui->setupUi(this);
src=cv::imread("image2.bmp");
cvtColor(src,src,CV_BGR2RGB);
img = QImage((const unsigned char*)(src.data),src.cols,src.rows,src.cols*src.channels(),QImage::Format_RGB888);
ui->label->setPixmap(QPixmap::fromImage(img).scaled(ui->label->width(), ui->label->height(),Qt::KeepAspectRatio));
ui->label_2->setPixmap(QPixmap::fromImage(img).scaled(ui->label_2->width(), ui->label_2->height(),Qt::KeepAspectRatio));
ui->label_3->setPixmap(QPixmap::fromImage(img).scaled(ui->label_3->width(), ui->label_3->height(),Qt::KeepAspectRatio));
顯示圖像跨度480 * 640和I選擇保持寬高比。然而,程序像這樣運行: pic lays in screen shots here
圖像以令人驚訝的錯誤方式調整大小。我已經嘗試Qt::KeepAspectRatiobyExpanding
和Qt::ignoreAspectRatio
,但這些行爲都不像預期的那樣。
對此有何想法?
你能否詳細說明「走錯了路」?此外,圖像是白色/空白(或者它只是我?) – hauron
這個問題來自這樣一個事實,即當您執行'setPixmap'指令時標籤大小可能具有虛假值,並且標籤僅在稍後重新調整大小。我將賭注Merlin069選項以及'ui-> label-> setPixmap(QPixmap :: fromImage(img))'將解決您的問題。 – UmNyobe